在类Person中提供了一个有两个参数的构造方法,而并没有明确的写出无参构造方法,如果程序中指定了构造方法,则默认构造方法不会再生成,由于实例化子类对象时找不到父类中无参构造方法,所以程序出现了错误,而只要在Person类中增加一个什么都不做的构造方法,就这一问题就可以解决了
class Student extends Person
{
Student()
{
super() ; //实际上在程序的这里隐含了这样一条语句
}
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
super关键字出现在子类中,而且是去调用了父类中的构造方法,主要功能是完成子类调用父类中的内容,也就是调用父类中的属性或方法。
子类构造方法的第一行默认隐含了一个“super()”语句.
还有你的子类构造函数Student(){}; 多分号
|