泛型、接口、类,之间的关系
泛型、接口、类,之间的关系
泛型的本质是类型的参数化(参数化类型)。
提到参数,很容易想到方法的形参和实参,类型参数化的含义与之相近,就是用形式参数表示类型的名字,而其具体类型有传入的实参决定。换而言之,类型的名字时刻变的。这种技术可以在类、接口和方法的定义中,分别称为泛型类、泛型接口和泛型方法。
例如:定义A类时,人们期待某个成员变量的类型在某些情况下是Integer,在某些情况下是String,及该成员的类型可以根据需要发生变化,利用泛型即可实现这种愿望。
实例:
class A {
public T t;//T不是成员变量而是一个类型形参
public A(T t){
this.t = t;
}
}
public class MainClass{
public static void main(String[] args){
A a1= new A(123);//第二个< >参数可以省略
A a2= new A<String>(123);
System.out.println(a1.t+a2.t);
}
}
结果:123abc