1.泛型在集合中的使用(掌握)
//集合类或接口,在声明的时候,使用了泛型。那么我们就可以在实例化的时候,声明具体的泛型的类型。
//在声明泛型类或泛型接口时,其中的方法如果使用了泛型的声明的类型:E.那么当实例化以后,相应方法中的E类型都替换为具体的泛型的类型。
//虽然集合类或接口使用了泛型的声明,但是我们在实例化时,可以不用泛型。这个时候,默认泛型的类型是Object.
2.如何自定义泛型类、泛型接口、泛型方法(理解)
//在实例化泛型类的对象时,指明泛型类中泛型的类型,那么其相关的方法,若使用了泛型的类型,那么这些泛型的类型全部转换为实际指明的类型。
//当子类继承有泛型的父类时,也可以指明泛型的类型
3.泛型在继承方面的体现(理解)
4.通配符的使用(理解)
//类A 是 类 B 的父类,但是List不是 List的父类,二者是并列关系
//List?是 List和List的公共父类。其中类A和类B是任意的类。
//有限制条件的通配符:(了解)
//? extends A:可以将List或List 赋值给List,其中B类是A类的子类
//? super A:可以将List 或List 赋值给List,其中B类是A类的父类
Listlist1 = new ArrayList();
list1.add("AA");
list1.add("BB");
list1.add("CC");
List list2 = list1;
//1.读取:可以读取声明为通配符的集合中的元素
/*for(Object o : list2){
System.out.println(o);
}*/
Iterator iterator = list2.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
//2.写入:不允许向声明为通配符的集合中写入数据。唯一可以写入的就是null
//list2.add("DD");
list2.add(null);