1. 概述
抽象类和构造器看起来可能不兼容。构造器是在类实例化时调用的方法,而抽象类不能被实例化。这听起来是不是有点反直觉?
在本文中,我们将看到抽象类为什么可以有构造器,以及在子类实例化时使用它们如何带来好处。
2. 默认构造器
当一个类没有声明任何构造器时,编译器会为我们创建一个默认构造器。这对于抽象类来说也是成立的。即使没有显式构造器,抽象类也会有一个默认构造器可用。
在抽象类中,其派生类可以通过_super()调用抽象默认构造器:
大约 4 分钟
抽象类和构造器看起来可能不兼容。构造器是在类实例化时调用的方法,而抽象类不能被实例化。这听起来是不是有点反直觉?
在本文中,我们将看到抽象类为什么可以有构造器,以及在子类实例化时使用它们如何带来好处。
当一个类没有声明任何构造器时,编译器会为我们创建一个默认构造器。这对于抽象类来说也是成立的。即使没有显式构造器,抽象类也会有一个默认构造器可用。
在抽象类中,其派生类可以通过_super()调用抽象默认构造器: