先通过一个实类继承来理解:
Class Animals{
public Animals(){}
public void eat();
}
Class Dog extends Animals{
//super();不写父类构造的情况下,相当于会默认有个super(),调用父类的空参构造
pubilc Dog(){}
@Override
public void eat(){
print(“狗吃肉”);
}
}
在有此继承关系的情况下,如果对dog进行实例化即new dog()操作,那么一定会调用new Animals()操作,这时候就需要调用animals的构造函数后才能调用子类的构造函数。
这样就好理解了,抽象类也是可以继承的,而继承后就会有子类的实例化的操作,而如果抽象类中没有构造方法,那继承此抽象类的子类将无法实例化。
来源:CSDN
作者:Victoria Coleone
链接:https://blog.csdn.net/qq_33581012/article/details/103846236