Loading

java泛型中,上下界通配符

上界<? 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;
}
}





 

posted @ 2020-03-11 16:13  Rzk  阅读(894)  评论(0编辑  收藏  举报