本帖最后由 张向辉 于 2013-1-30 10:29 编辑
public static void printColl(TreeSet<? extends Person> al)
{
Iterator<? extends Person> it = al.iterator();
while(it.hasNext())
{
System.out.println(it.next().getName());
}
}
在此处getName()是Student继承的Person中的方法。不上示方法参数(TreeSet<? extends Person> al ) 变成了(TreeSet<? super Student> al)后,就会因为调用getName()方法而报错,是不是泛型限定中用到哪个类就只能调用哪个类的特有方法呢?请高手详解。 |