泛型的上限、下限
上限:? extends T 接收T类型或其子类类型
下限: ? super T 接收T类型或其父类类型
泛型的定义主要有以下两种:
在程序编码中一些包含类型参数的类型,也就是说泛型的参数只可以代表类,不能代表个别对象。(这是当今较常见的定义)在程序编码中一些包含参数的类。其参数可以代表类或对象等等。(现在人们大多把这称作模板)不论使用那个定义,泛型的参数在真正使用泛型时都必须作出指明。
一些强类型编程语言支援泛型,其主要目的是加强类型安全及减少类转换的次数,但一些支持泛型的编程语言只能达到部份目的。
在类声明的同时通过<>声明泛型参数
<>中声明的类型参数可以用于定义类属性和类方法
Class Lsit{
Void add(T item){
….
}
T get(int i){
T ret = null;
……
Return ret;
}
}
泛型类的使用:
包含泛型声明的类类型可以再定义引用创建对象时候传入类型参数;
传入类型实参后创建的对象是一个在逻辑上处理特定类型的“专用”对象。
Public class test{
Public static void main(String [] args){
List list1 = new List(); //传入类型参数string
List list1 = new List(); //传入类型参数teacher
}}