如果父类中定义了带参数的
构造函数,那么子类中也必须定义带参数的构造函数,如果父类中定义了不带参数的构造函数,那么子类可以不用定义构造函数,如果要定义的话也必须不带参数;还有一点就是如果父类和子类中定义了带参数的构造函数,如果要在子类中定义不带参数的构造方法,那么也要在父类中定义不带参数的构造方法。
比如:
public
class Person {
int age;
String name;
public Person(int age, String name) {//父类中定义了带参数的构造方法
super();
this.age = age;
this.name = name;
}
public Person(){//无参的构造方法
}
}
public class Student extends Person {
private String grade;
public Student(int age, String name) }
//子类中必须定义带参数的构造方法,否则报错
super(age, name);
}
public Student(){
//子类中要定义无参地构造方法,必须在父类中也定义无参的构造方法
this.grade = "daer";
}
}