
T 代表一种类型。
加在类上:
class SuperClass<A>{}加在方法上:
public <T>void fromArrayToCollection(T[] a, Collection<T> c){}(免费学习视频教程分享:java视频教程)
立即学习“Java免费学习笔记(深入)”;
方法上的
class People<T>{
public void show(T a) {
}
}T extends T2 指传的参数为T2或者T2的子类型。
?是通配符,泛指所有类型。
一般用于定义一个引用变量,这么做的好处是,如下所示,定义一个sup的引用变量,就可以指向多个对象。
SuperClass<?> sup = new SuperClass<String>("lisi");
sup = new SuperClass<People>(new People());
sup = new SuperClass<Animal>(new Animal());若不用?,用固定的类型的话,则:
SuperClass<String> sup1 = new SuperClass<String>("lisi");
SuperClass<People> sup2 = new SuperClass<People>("lisi");
SuperClass<Animal> sup3 = new SuperClass<Animal>("lisi");这就是?通配符的好处。
相关文章教程推荐:java入门教程











