黑马程序员技术交流社区

标题: 问题求解答 [打印本页]

作者: die_er    时间: 2014-3-24 17:31
标题: 问题求解答
public static void sop(ArrayList <? super Student> arr)
        {
                Iterator<? super Student> it = arr.iterator();
                while(it.hasNext())
                {

                        System.out.println(it.next());
                }
        }
不是Student和它的父类类型的集合可以调用sop方法吗,传入的是Student或者它的父类对象的集合吧?
为什么不能调用它们类里的方法呢?
作者: die_er    时间: 2014-3-24 17:34
it.next()只能调用Object里面的方法。为啥
作者: Engle    时间: 2014-4-2 10:27
你如果想it.next()得到的是Student的对象,你的代码应该这么写:
public static void sop(ArrayList <Student> arr)
        {
                Iterator<Student> it = arr.iterator();
                while(it.hasNext())
                {

                        System.out.println(it.next());
                }
        }




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2