泛型概述
泛型,即参数化类型。就是将类型由原来的具体的类型参数化,类型定义成参数形式,然后在使用/调用时传入具体的类型
使用
泛型类 : 重点内容
public class ClassName<T>{
private T data;//注意这里不是<T>
public T getData(){
return data;
}
public void setData(T data){
this.data = data;
}
}
指定多个泛型类
public class ClassName<T,A,B,E>{
T data1;
A data2;
B data3;
}
泛型接口
public interface InterfaceName<T>{
T getData();
}
泛型方法
private static <T> T 方法名(T a,T b){}
注意:
在编译之后程序会采取去泛型化的措施
也就是说Java中的泛型,只在编译阶段有效
泛型不会进入到运行时阶段
泛型接口的使用:
泛型方法的使用:
泛型限制类型
我们可以规定泛型的类型
泛型的通配符 ?
上界的限定
传入的对象必须是Fruit的子类
下界的限定
传入的对象必须是Apple的父类,或者是Apple本身