泛型
什么是泛型?
泛型 ‘指的时参数化类型’ 就是将类型由原来的具体的类型参数化,类似育方法中的变量参数,此时类型也定义成参数形式,然后在使用/调用传入具体的类型
使用泛型类
/*
<T> T 是自定义的
*/
public cliass ClassName<T>{
private T data;
public T getData(){
return data;
}
public void setData(T data){
this.data = data;
}
}
调用 泛型类时如何使用?
public static void main(String[] args) {
// 我们在泛型中设定了 String 类型那么我们在setDate中就应该传入 String类型,传入其他类型会报错
Test2<String> s = new Test2<>();
s.setData("ss");
System.out.println(s.getData());
}
泛型限制类型
在使用泛型时,可以指定泛型的限制区域
例如 某某类的子类 格式:
<T extends 类或接口1 & 接口2>
泛型通配符
通配符号 ?
<? extends Parent> 指定了泛型类型的上界 泛型最高只能时Parent
<? super Child> 指定了泛型类型的下界 泛型只能使用 Child 的父类级以上的类型