JAVA中泛型的下限super

xiaoxiao2021-02-28  40

**package Class; import java.util.ArrayList; import java.util.List; /* * super:泛型子类的下限 */ public class SuperTest { public static void main(String[] args) {

List<Apple> list=new ArrayList<Apple>(); Text(list); List<Fruit> list1=new ArrayList<Fruit>(); Text(list1); List<Object> list2=new ArrayList<Object>(); Text(list2); //规则:必定为Apple的父类,Apple为下限,(向上兼容) List<? super Apple> list3=new ArrayList<Apple>(); Text(list3); List<? super Fruit> list4=new ArrayList<Object>(); Text(list4); List<? super Object> list5=new ArrayList<Object>(); Text(list5); } //super:Apple为下限 static void Text(List<? super Apple> list) { //可以添加数据,但不能添加父类(super) list.add(new Apple()); list.add(new fujiApple()); }

}**

package Class; /* * 继承链 * object * | * Fruit * / \ * Apple Pear * | *fujiApple */ public class Fruit {

} class Apple extends Fruit{

} class Pear extends Fruit{

} class fujiApple extends Apple{

}

转载请注明原文地址: https://www.6miu.com/read-2625097.html

最新回复(0)