黑马程序员技术交流社区

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

作者: 丁岩    时间: 2012-8-24 19:25
标题: 泛型限定的问题
  1. import java.util.*;
  2. class Person
  3. {
  4. private String name;
  5. Person(String name)
  6. {
  7. this.name=name;
  8. }

  9. public String getName()
  10. {
  11. return name;
  12. }
  13. }

  14. class Student extends Person
  15. {

  16. Student(String name)
  17. {
  18. super(name);
  19. }


  20. }

  21. public class Gener6
  22. {
  23. public static void main(String[]args)
  24. {
  25. ArrayList<Person>al =new ArrayList<Person>();
  26. al.add(new Person("abc01"));
  27. al.add(new Person("abc02"));
  28. al.add(new Person("abc03"));
  29. al.add(new Person("abc04"));
  30. print(al);
  31. System.out.println();
  32. ArrayList<Student>al2=new ArrayList<Student>();
  33. al2.add(new Student("def01"));
  34. al2.add(new Student("def02"));
  35. al2.add(new Student("def03"));
  36. al2.add(new Student("def04"));
  37. print(al2);
  38. }

  39. public static void print(Collection<? extends Person>al)
  40. {
  41. Iterator<? extends Person> it=al.iterator();
  42. while(it.hasNext())
  43. {
  44. System.out.print(" "+it.next().getName());
  45. }
  46. }
  47. }
复制代码
错误好像是说33行找不到特定方法,真不知道原因是什么?
作者: 全海波    时间: 2012-8-24 19:34
这个我验证了一下,没有问题,可以放心使用
import java.util.*;
class Person
{
private String name;
Person(String name)
{
this.name=name;
}
String getName()
{
return name;
}
}
class Student extends Person
{
Student(String name)
{
super(name);
}

}
class Gener6
{
public static void main(String[]args)
{
ArrayList<Person>al =new ArrayList<Person>();
al.add(new Person("abc01"));
al.add(new Person("abc02"));
al.add(new Person("abc03"));
al.add(new Person("abc04"));
print(al);
System.out.println();
ArrayList<Student>al2=new ArrayList<Student>();
al2.add(new Student("def01"));
al2.add(new Student("def02"));
al2.add(new Student("def03"));
al2.add(new Student("def04"));
print(al2);
}
public static void print(Collection<? extends Person>al)
{
Iterator<? extends Person> it=al.iterator();
while(it.hasNext())
{
System.out.print(" "+it.next().getName());
}
}
}

作者: 黄敏    时间: 2012-8-24 19:37
我把你的代码运行了一下,没问题,






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