假设我们有 class a
:
class A {
A._();
}
它的默认构造函数是private: A._()
.
有没有办法 extends
那个班?
问题
class B extends A {
}
这导致编译器 error :
The superclass 'A' doesn't have a zero argument constructor.
试图为 B
自己构建任何构造函数( B()
)会导致另一个错误:
The superclass 'A' doesn't have an unnamed constructor.
1 回答
不,没有办法 . 这是防止延伸的有效方法 .
你仍然可以做的是实现这个课程 .
如果类还有一个公共的非工厂构造函数,你仍然可以通过将构造函数调用转发给超类的这样一个命名构造函数来扩展它 .