泛型即"参数化类型".一提到参数,我们首先就会想到在定义方法的时候会有形参,然后调用此方法传递实参
参数化类型:就是将类型由原来具体的类型参数化,类似于方法中的变量参数,此时的类型也定义成参数类型,然后再使用/调用时传入具体的类型
为什么使用泛型在早期的Object类型可以接受任意的对象类型,但是在实际的使用过程中,会出现类型转换问题.因为存在这种隐患,所以java提供了泛型来解决这个安全问题
泛型类型泛型类型分为:泛型类,泛型接口,泛型方法
泛型类在定义类的时候将类型定义为泛型
public class A{//T表示类型 private T number;//表示T类型的常量,T类型由外部决定 public T getNumber() {//泛型方法的返回值类型也是T return number; } public void setNumber(T number) { this.number = number; } }
从泛型类派生出子类
子类也要是泛型类,且与父类类型一致
当子类不是泛型类时,父类要明确泛型数据类型
泛型接口泛型接口与泛型类使用基本相似,只是在定义的时候是接口,也可以用泛型来定义
泛型方法及泛型通配符泛型通配符就是使用"?"代表具体的类型实参
public class A{ private T number; public void print(A extends Object> i){//使用extends表示他的上限是Object,可以使用它及它的子类 } public void print2(A super Integer> in){//使用super表示他的下限是Integer,可以使用它及它的父类 } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)