public class 泛型类 {
public static void main(String[] args) {
A<String> a1 = new A<String>();//在new A的对象指定泛型的类型 类型是String
a1.setKey("xxxx");//对象使用setKey(T key)方法,中的key这个形参就是String类型
System.out.println(a1.getKey());//返回值就由new对象确定返回值是String
A<Integer> a2 = new A<Integer>();
a2.setKey(1);
System.out.println(a2.getKey());
A a3 = new A();//不指定泛型,相当于制定了一个object类型
a3.setKey(1+"456");
System.out.println(a3.getKey());
//同样的类在new对象时,指定了不同的数据类型,那这些对象不能互相赋值
}
/*
此处的泛型T可以任意的取名
一般使用大写的T,type
*/
static class A<T>{
private T key;
public void setKey(T key){
this.key=key;
}
public T getKey(){
return this.key;
}
}
}