上界<? extends T>不能往里存,只能往外取 <? extends Fruit>會使往盤子里放東西的set( )方法失效 但取東西get( )方法還有效
指的是,引用內的泛型范圍,最高是T類,最低不限
可以取元素
不能添加元素
下界<? super T>不影響往里存,但往外取只能放在Object對象里
使用下界<? super Fruit>會使從盤子里取東西的get( )方法部分失效,只能存放到Object對象里。set( )方法正常。
下界通配符<? super T> 指的是,引用內的泛型范圍,最低是T類,最高是超類Object
可以取元素,但是取出的元素是Object
可以添加元素,添加的元素,必須是T類或者其子類
class Fruil{}
class Apple extends Fruil{
public void apple(){
System.out.println("蘋果");
}
}
比如我們有Fruit類,和它的派生類Apple
然后有一個最簡單的容器:Plate類
盤子里可以放一個泛型的”東西”
我們可以對這個東西做最簡單的“放”和“取”的動作:set( )和get( )方法。
class Plate<T>{
private T item;
public Plate(T t){
item = t;
}
public void setItem(T t){
this.item = item;
}
public T getItem(){
return item;
}
}
