import java.util.ArrayList; import java.util.List; /** * 泛型——设定类型形参的上限。 * ?类型形参在集合里使用Map<?,?>/List<? extends String> * */ abstract class Fruit { abstract void getName(); } class orange2 extends Fruit { @Override void getName() { System.out.println("橘子");; } } class banana extends Fruit { @Override void getName() { System.out.println("香蕉"); } } class Sell { //类型只能是是 Fruit的子类。 public void sellAll(List<? extends Fruit> fruit) { for (Fruit fruit2 : fruit) { fruit2.getName(); } } } public class Annotation { public static void main(String[] args) { List<Fruit> olist = new ArrayList<Fruit>(); olist.add(new orange2()); olist.add(new banana()); new Sell().sellAll(olist);//橘子 香蕉 ArrayList<orange2> o = new ArrayList<orange2>(); o.add(new orange2()); new Sell().sellAll(o);//橘子 } }
泛型——设定类型形参的上限。
猜你喜欢
转载自barabbas.iteye.com/blog/1836862
今日推荐
周排行