java构造函数在继承中的应用
每个类的创建都依赖于构造函数的初始化,子类创建时会优先加载父类的构造函数
当父类中只有无参构造时(系统默认不显示,也可手动让其显示),子类可正常继承父类
当父类中既有无参构造也有有参构造时,子类也可正常继承父类
当父类中只有有参构造时,子类必须在自己的构造函数中实现"super(父类参数)",否则会报错
推荐:父类写构造方法时,即写无参构造,也写有参构造
在实际开发中,子类一般要有两个构造方法
子类的无参构造访问父类的无参构造
子类的全参构造访问父类的全参构造
当父类只有有参构造时:
public class Animal {
private String name;
public Animal(String name){
this.name=name;
}
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
}
public class Dog extends Animal{
public Dog(String name) {
super(name);
}
}
当父类中既有无参构造又有有参构造时:
public class Animal {
private String name;
public Animal(String name){
this.name=name;
}
public Animal(){
}
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
}
public class Dog extends Animal{
}