黑马程序员技术交流社区

标题: 来解决下这个泛型问题。。。。 [打印本页]

作者: 黑马巩伟伟    时间: 2011-12-15 12:43
标题: 来解决下这个泛型问题。。。。
本帖最后由 独行客 于 2011-12-15 14:16 编辑

class GenericDemo4
{
        public static  void main(String[] args)
        {
           ArrayList<Person> list1=new ArrayList<Person>();
       list1.add(new Person("sfsfsd"));
           list1.add(new Person("ssdf"));
           list1.add(new Person("sfwr"));
       ArrayList<Student> list2 =new ArrayList<Student>();
           list2.add(new Student("sfs--1"));
           list1.add(new Student("sfsfsd---2"));
           list1.add(new Student("sfsfsd---3"));
           print(list1);
        }
        public static void print(ArrayList<Person> list)
        {
           Iterator<Person> it=list.iterator();
           while(it.hasNext())
           {
               System.out.println(it.next().getName());  我在这里分明传的是父类,可是结果中为什么会出现子类?
           }
        }
}
作者: 侯伟浩    时间: 2011-12-15 12:57
Student和Person有什么关系吗?把它们两个的代码也贴出来看看啊
作者: 小春同学    时间: 2011-12-15 13:05
正确啊,你打印的是集合list1嘛,list1里面确实存了3个Person和2个Student啊
作者: 胡遇潮    时间: 2011-12-15 13:08
  list2.add(new Student("sfs--1"));
  list1.add(new Student("sfsfsd---2"));
  list1.add(new Student("sfsfsd---3"));

添加错误,把list1,换成list2
作者: 马伟奇    时间: 2011-12-15 13:21
public static  void main(String[] args)
        {
           ArrayList<Person> list1=new ArrayList<Person>();
       list1.add(new Person("sfsfsd"));
           list1.add(new Person("ssdf"));
           list1.add(new Person("sfwr"));
       ArrayList<Student> list2 =new ArrayList<Student>();
           list2.add(new Student("sfs--1"));
           list1.add(new Student("sfsfsd---2"));
           list1.add(new Student("sfsfsd---3"));
           print(list1);// 大哥,你这里输入的list1,当然输出list1
        }
作者: 黑马巩伟伟    时间: 2011-12-15 14:15
马伟奇 发表于 2011-12-15 13:21
public static  void main(String[] args)
        {
           ArrayList list1=new ArrayList();

哎,确实是自己粗心了。。。。。。兄弟说的是




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