抽象类中是需要有构造函数的。虽然抽象类本身不能创建对象。但是继承抽象的子类并复写所以的抽象方法之后是可以实例化的。我们知道实例化对象需要有构造函数对对象进行初始化。这时候就调用到了子类的构造函数。子类的构造函数中有个隐式语句super();它会在子类的构造函数运行前去调用父类的构造函数。在抽象类中,因为子类与父类是继承关系。子类对象继承父类的成员属性和方法。当子类对象初始化的时候会查看父类是如何初始化父类成员的。然后再 完成对子类的初始化。这个关系在抽象类中也适用。
所以,抽象类中是有构造函数的,作用是为了给子类对象初始化。~子类可以super();调用父类的构造函数~这是我个人的理解。 |