继承与通配符
- 泛型不具备继承性
- <?> :表示支持任意类型泛型
- <? extends A> :表示支持A类以及A类的子类,规定了泛型的上限
- <? super A>:表示支持A类以及A类的父类,不限于直接父类,规定了泛型的下限
package com.ftn.generic.extends_;
import java.util.ArrayList;
import java.util.List;
public class GenericExtends {
public static void main(String[] args) {
List<AAA> list1 = new ArrayList<>();
List<BBB> list2 = new ArrayList<>();
List<CCC> list3 = new ArrayList<>();
List<Object> list4 = new ArrayList<>();
List<String> list5 = new ArrayList<>();
print(list1);
print(list2);
print(list3);
print(list4);
print(list5);
print02(list1);
print02(list2);
print02(list3);
print03(list1);
print03(list4);
}
static public void print(List<?> s){
}
static public void print02(List<? extends AAA> s){
}
static public void print03(List<? super AAA> s){
}
}
class AAA{}
class BBB extends AAA{}
class CCC extends BBB{}