泛型受限
- Super是指定下线;本身即其父类可以使用
- extend是指定上线,本身和其子类可以使用
package com.Collection;
import java.util.ArrayList;
import java.util.List;
//这个是父类
public class Demo001 {
}
//这个是子类
class Demo002 extends Demo001{
}
//这个是测试类
class Demo003 {
public static void main(String[] args) {
List<Object> obj0 = new ArrayList<>();
List<Demo001> obj1 = new ArrayList<>();
List<Demo002> obj2 = new ArrayList<>();
//这里List<? super Demo001 >;是指向了下线是;Demo001;super指到其父类object;即这里父类和本身类可以使用赋值0
List<? super Demo001 >list2 = null;
list2 =obj0;
list2 =obj1;
/*list2 =obj2;*/
//List<? extends Demo001 >这里指定了上线;可以赋值到本身;即自己的子类Demo002;
List<? extends Demo001 >list3 = null;
list3 = obj1;
list3 = obj2;
/*list3 = obj0;*/
}
}