------- android培训、java培训、期待与您交流! ----------
★设置泛型对象的上限使用extends,表示参数类型只能是该类型或该类型的子类:
- 声明对象:类名<?extends 类> 对象名
- 定义类:类名<泛型标签 extends 类>{}
★设置泛型对象的下限使用super,表示参数类型只能是该类型或该类型的父类:
- 声明对象:类名<?super 类> 对象名称
- 定义类:类名<泛型标签 extends类>{}
public static void show(List
list){
}
public static void show(List
list){
}
public static voidshow(List
list){}
public static void show(List
list){}
★泛型的上限
public static void main(String[] args) {
Person
p1 = new Person<>();
p1.setVal(99);
Person
p2 = new Person<>();
p2.setVal(3.14);
Person
p3 = new Person<>();
p3.setVal("007");
show(p1);//正确
show(p2);//正确
show(p3);//错误
}
public static void show(Person
p)
{//限定Person的参数类型只能是Number或者是其子类,这里String并不属于Number。
System.out.println(p.getVal());
}
★泛型的下限
public static void main(String[] args) {
Person
p1 = new Person<>();
p1.setVal(99);//Integer
Person
p2 = new Person<>();
p2.setVal(3.14);//Double
Person
p3 = new Person<>();
p3.setVal("007");//String
Person