您的位置:首页 > 其它

泛型通配符的使用及类型限定上限

2013-10-23 14:54 253 查看
package frank;
import java.lang.*;
import java.util.List;
import java.util.ArrayList;
/**
* 泛型通配符的使用及类型限定上限
* */
public class App
{
public static void main(String[] args)throws Exception
{
List<B> b2 = new ArrayList<B>();
B b = new B();
b2.add(b);
b.get(b2);
}
}
abstract class A
{
public abstract void add();
protected int age = 10;
}
class B extends A
{
@Override
public void add()
{

}
/*
public void get(List<?> a)//使用通配符,及所有类型
{
for(Object item : a)
{
System.out.println(((A)item).age);//这样子代码变得有些臃肿。
}
}
*/
/*
public void get(List<A> a)//如果传List<B>进来也会报错,其实List<B>并不是List<A>的子类了。
{
for(A item : a)
{
System.out.println(item.age);//
}
}
*/
public void get(List<? extends A> a)//通过通配符限定,可以传进来的是任意子类
{
          //我们也不能对a对象里面添加元素,因为我们不知道他是哪个子类。
for(A item : a)
{
System.out.println(item.age);//
}
}
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: