介绍
1 泛型是一种特殊的类型,它把指定类型的工作推迟到客户端代码声明并实例化类或方法的时候进行。
2 泛型类是引用类型,是推对象,主要是引用了类型参数这个概念。
3 泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。
4 这种参数类型可以用再类,接口和方法的创建中,分别称为泛型类,泛型接口,泛型方法。
5 Java语言引入泛型的好处是安全简单。
泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐士的,提高代码的重用率。
规则和限制
1 泛型的类型参数只能是类类型(包括自定义类),不能是简单类型。
2 同一种泛型类型可以对应多个版本(因为参数类型是不确定的),不同版本的泛型类型实例是不兼容的。?
3 泛型的类型参数可以有多个。
4 泛型的参数类型可以使用extends语句,例如<T extends superclass>。习惯上称为“有界类型”。
5 泛型的参数类型还可以是通配符类型。例如Class<?> classType = Class.forName(“java.lang.String”);
例子:使用泛型
package DAY0115;
class Gen<T>{
private T ob;
public Gen(T ob){
this.ob = ob;
}
public T getOb() {
return ob;
}
public void setOb(T ob) {
this.ob = ob;
}
}
public class for01 {
public static void main(String args[]){
Gen<Integer> gen = new Gen<Integer>(88);
Integer ob = gen.getOb();
System.out.println(ob);
Gen<String> gen2 = new Gen<String>("Hello");
String ob2 = gen2.getOb();
System.out.println(ob2);
}
}
结果
88
Hello