class Fruit{}
class Apple extends Fruit{}
class Plate<T>{
private T item;
public Plate(){}
public Plate(T t){
item=t;
}
public void set(T t){
item=t;
}
public T get(){
return item;
}
}
public class GenericTest {
public static void main(String[] args) {
Fruit a=new Fruit();
Fruit b=new Apple();
Plate<Fruit> c=new Plate<Fruit>();
Plate<? extends Fruit> e=new Plate<Apple>();
Plate<? extends Fruit> f=new Plate<>();
Plate<? extends Fruit> g=new Plate<Apple>(new Apple());
Apple h= (Apple) g.get();
Fruit i=g.get();
Plate<? super Fruit> j=new Plate<>();
j.set(new Fruit());
j.set(new Apple());
Object k= j.get();
}
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步