一、泛型类都是通过<T>来表示。
常见的类型参数命名习惯。
E-Element,表示元素。
K-Key,表示键值。
N-Number,表示数字。
T-Type,表示类型。
V-Value,表示值。
S,U,V-可用于表示泛型类型的第一个和第二个,第三个参数。。。。
在泛型类型中,Mybox<number> 和Mybox<Integer>和Mybox<Double>之家没有必然关系,虽然number 是Integer和Double的父类。
二、通配符 ?
1、无限制通配符
Mybox<?> 可以理解为Mybox<Integer>和Mybox<Double>的父类
2、受限通配符
Mybox<? extends number> 可以理解为number 的未知子类
三、泛化方法
泛化方法是在在方法声明中增加了类型参数的声明。泛化方法中的类型参数的作用域只限于申明它的方法。例如:
public <U> void inspect(U u){
}