抽象类可以拥有构造函数吗?
尽管抽象类具有抽象性质,但它们确实支持构造函数的存在。
抽象类构造函数的利用和目的
抽象类构造函数有多种用途:
示例
考虑以下代码片段:
abstract class Product { int multiplyBy; public Product( int multiplyBy ) { this.multiplyBy = multiplyBy; } public int mutiply(int val) { return multiplyBy * val; } } class TimesTwo extends Product { public TimesTwo() { super(2); } } class TimesWhat extends Product { public TimesWhat(int what) { super(what); } }
在此示例中,抽象类 Product 拥有一个构造函数设置multiplyBy 字段。子类 TimesTwo 和 TimesWhat 重写此构造函数以提供自定义初始化。
注意:
需要注意的是,抽象类不具有默认构造函数,因此子类必须明确使用 super.
调用父构造函数以上是抽象类可以有构造函数吗?的详细内容。更多信息请关注PHP中文网其他相关文章!