子类的构造方法必须继承父类的构造方法

public class Person {
/* public Person(){

}*/
public Person(String name){

}

}


public class Athletes extends Person {

public Athletes(String name,int age,String sex,String event,String goal){

]
}


Person类定义了一个有参的构造方法,Athletes类中会报错,解决办法是person类中加一个无参的构造方法

父类写了有参构造函数,就意味着编译器不会为它生成默认的无参构造。
这样如果子类要继承的话,只能继承有参的,构造子类对象的时候就会调用父类有参构造。
如果子类想写无参构造,父类也必须加写一个无参构造,这样构造子类对象的时候,会调用父类无参构造。

子类的构造函数要调用父类的构造函数,
都不写的情况下在子类里会有一个缺省的构造函数,
里面这样写super();它表示父类的构造函数,

如今你实现了父类的构造函数,那么你必须在子类的构造函数显式调用

解决方案还有就是在父类里添加一个空的构造函数O(∩_∩)O~

猜你喜欢

转载自blog.csdn.net/bulubuluu/article/details/76038519