Java抽象类可以有构造函数吗?
抽象类可以有构造函数吗?
如果是这样,它将如何使用以及用于什么目的?
回答:
是的,抽象类可以具有构造函数。考虑一下:
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
是抽象的,并且具有构造函数。具体的类TimesTwo
具有仅对值2进行硬编码的构造函数。具体的类TimesWhat
具有允许调用者指定值的构造函数。
抽象构造函数将经常用于强制类约束或不变量,例如设置类所需的最小字段。
以上是 Java抽象类可以有构造函数吗? 的全部内容, 来源链接: utcz.com/qa/427055.html