黑马程序员技术交流社区
标题:
泛型限定中一个小问题
[打印本页]
作者:
李建强
时间:
2012-9-25 13:26
标题:
泛型限定中一个小问题
本帖最后由 李建强 于 2012-9-25 13:41 编辑
/*
* 这个代码是来演示泛型限定的。
*/
import java.util.*;
class GenericDemo6
{
public static void main(String[] args)
{
ArrayList <Student> al1 = new ArrayList <Student>();
al1.add(new Student("abc1"));
al1.add(new Student("abc2"));
al1.add(new Student("abc3"));
printColl(al1);
}
public static void printColl(ArrayList<? extends Person>al)
{
Iterator <? extends Person> it = al.iterator();
while (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中的构造器student应用到指定类型。
作者:
郭阳
时间:
2012-9-25 13:38
Student 继承了Person
但是他默认的是调用Person的空构造函数即 Person(){};
所以建类的时候无法初始化
改为这样应该就没问题了你试试
class Student extends Person
{
Student(String name)
{supe(String name);}
}
作者:
李建强
时间:
2012-9-25 13:40
郭阳 发表于 2012-9-25 13:38
Student 继承了Person
但是他默认的是调用Person的空构造函数即 Person(){};
所以建类的时候无法初始化
3Q,疏忽了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2