class Employee{
}
class Manager extends Employee{
}
class CEO extends Manager{
}
public class Test{
public static void main(String[] args) {
List<? super Manager> list=new ArrayList();
//请问,new ArrayList()中,这里面的Manager有什么用吗?
list.add(new Manager());
list.add(new CEO());
}
}
希望各位能回答小弟这个问题,感激不尽!!!
限制list的泛型参数必须是manager或者它的派生类。
<? super T> 表示以T类型为下限的某种类,
实例化的时候对象的泛型一定要大于等于T类型(也就是T的父类或自己) ;
使用的时候类型一定要小于等于T类型(也就是T的子类或自己)
list.add(new Manager()); //操做成功
list.add(new CEO()); //成功
list.add(new Employee()); //编译器报错,因为Employee是Manager的父类