黑马程序员技术交流社区

标题: 关于泛型限定的问题 [打印本页]

作者: 短板    时间: 2015-5-7 16:28
标题: 关于泛型限定的问题
import java.util.* ;
class GenericDemo191b
{
        public static void main(String[] args)
        {
                ArrayList<Person> al = new ArrayList<Person>();
                al.add(new Person("abc1"));
                al.add(new Person("abc2"));
                al.add(new Person("abc4"));

                ArrayList<Student> al1 = new ArrayList<Student>();
                al1.add(new Person("a-1"));
                al1.add(new Person("a-2"));
                al1.add(new Person("a-4"));

                print(al);
                print(al1);
       
                public static void print(ArrayList<? extends Person> al)
                {
                        for (Iterator<? extends Person> it = al.iterator();it.hasNext() ; )
                        {
                                System.out.println(it.next().getName());
                        }
                }
                       
        }
}
class Person
{
        private String name ;
        Person(String name )
        {
                this.name = name ;
        }
        public String getName()
        {
                return name ;
        }
}
class Student extends Person
{
        Student(String name )
        {
                super(name) ;
        }
}

作者: 短板    时间: 2015-5-7 16:29
cmd运行 一直说19行错误   public static void print(ArrayList<? extends Person> al)

但是我找不到 求那位大神讲解下
作者: 396460221    时间: 2015-5-7 17:52
不能在函数内再定义函数。你在主函数内定义了print方法,把那个方法拿出来试一下,应该就好了。
作者: 396460221    时间: 2015-5-7 17:56
第二个集合定义了泛型 Student但是往里面添加Person这个也要报错的。
作者: w401634075    时间: 2015-5-7 18:06
方法是平级的额。。。。




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