我想请教一下,为什么这个程序编译失败;
返回的错误提示是:对super的调用必须是构造器中的第一个语句super(name)
我知道这个程序该怎么改,只是不明白为什么,是因为子类只能调用一次父类的构造函数的关系吗?
还是因为对子类的初始化只能执行一次呢?
如果是这个原因的话,那为什么又提示只能是super(name)而不是super()呢?
求解答!*/
class Person
{
Person()
{
System.out.println("Person");
}
String name;
Person(String name)
{
this.name=name;
}
}
class Student extends Person
{
Student(String name)
{
super();
super(name);
}
}
class Jc6
{
public static void main(String[] args)
{
Student s=new Student("gw");
System.out.println(s.name);
}
} |