Java中什么是受限泛型呢?
下文笔者将讲述”受限泛型“的相关简介说明,如下所示:
受限泛型
我们将设置了 泛型上限或泛型下限的泛型类称之为”受限泛型“如何设置受限泛型呢?
设置上限
定义类 [访问权限] 类名称<泛型标识 extends 类> {}
声明对象 类名称<? extend 类> 对象名称
设置下限
定义类 [访问权限] 类名称<泛型标识 super 类> {}
声明对象 类名称<? super 类> 对象名称
class Info<T> {
private T var;
// 定义泛型变量
public T getVar()
{
return var;
}
public void setVar(T var)
{
this.var = var;
}
public String toString(){
//直接打印
return var.toString();
}
}
public class TestMain {
public static void main(String[] args) {
Info<Integer> info1 = new Info<Integer>();
Info<Float> info2 = new Info<Float>();
Info<String> info3 = new Info<String>();
info1.setVar(80);
info2.setVar(90.1F);
info3.setVar("字符串");
fun(info1);
fun(info2);
fun(info3); //不满足泛型方法的定义,超出上限
}
//只能接收Number及其Number的子类
public static void fun(Info<? extends Number> tmpInfo){
//只能接收String或Object类型的泛型 public static void fun(Info<? super String> temp){
System.out.println("输出信息:"+tmpInfo);
}
}
/*类中定义泛型上限*/
class Info<T extends Number> {
private T var;
// 定义泛型变量
public T getVar()
{
return var;
}
public void setVar(T var)
{
this.var = var;
}
public String toString(){
//直接打印
return var.toString();
}
}
泛型受限,就是定义时限制泛型的类型范围 如:泛型上限(extends限制其类型为 限制类及子类) 泛型下限(super限制其类型为 限制类及父类)
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


