1、泛型,就是需要宽泛的类型的时候需要泛型。
2、在使用泛型时,无法对对类型作一些操作,如实例化对象等。如果需要实例化对象,则需要传入泛型的类型参数,如T.
3、 List 中可以加入T和T的子类型,List extends T> 什么都不可以加入,List super T> 可以加入T和T的子类型。
public class Fruit {
}
public class Apple extends Fruit {
}
public class Orange extends Fruit {
}
public static void main(String[] args) {
List fruits = new ArrayList();
List extends Fruit> fruits2 = new ArrayList();
List super Fruit> fruit3 = new ArrayList();
List apples = new ArrayList();
//可以泛型中可以加入子类型
fruits.add(new Apple());
fruits.add(new Orange());
//报错
//apples.add(new Fruit());
/*报错, List extends Fruit> 不能加入任何类型
fruits2.add(new Fruit());
fruits2.add(new Apple());
fruits2.add(new Orange())*/
// apples.add(new Fruit());
fruit3.add(new Fruit());
fruit3.add(new Apple());
fruit3.add(new Orange());
字限定类型 "我在创建一个新类,它继承自一个泛型类型,这个泛型类型接收我的类的名字作为其参数".
作用 java 中的泛型关乎参数和返回类型。因此它能够产生使用导出类作为其参数返回类型的基类。