泛型其实就是语法糖守门员,是一种编译器的保护作用。
泛型在类定义的时候并不会设置类中的属性或方法中的参数的具体类型,而是在类使用时再进行定义。
/*
泛型类简介
*/
package genericityClass;
//此时t和e是同一个类型,比如说在主方法中定义一个String类型的数,则t和e都是String类型的数
class Myclass3<T,E>{
private T t;
private E e;
public Myclass3(T t, E e) {
this.t = t;
this.e = e;
}
public T getT() {
return t;
}
public void setT(T t) {
this.t = t;
}
public E getE() {
return e;
}
public void setE(E e) {
this.e = e;
}
}
public class Test2 {
public static void main(String[] args) {
//只有在具体使用时才知道是什么类
Myclass3<String,Integer> class1 = new Myclass3<String,Integer>("我",2);
Myclass3<Integer,String> class2 = new Myclass3<Integer,String>(2,"我");
System.out.println(class1.getE());
System.out.println(class1.getT());
}
}