【发布时间】:2015-10-07 14:39:39
【问题描述】:
我知道两种禁止继承的方法:
- 最后一堂课
- 宣布私有构造函数
为了防止继承,必须将类的默认构造函数声明为私有。
class Class {
private Class() {}
}
class OtherClass extends Class {
// Error! There is no default constructor available
}
使用super 的一切都完成了吗?
class Class {
public Class() {}
}
class OtherClass extends Class {
public OtherClass() { super(); } // Did everything done for this opportunity?
}
我想知道为什么你不能从具有私有默认构造函数的类继承以及受什么条件限制?
【问题讨论】:
-
您所说的“使用 super 完成了所有工作”是什么意思?
-
当然你可以从一个带有私有构造函数的类继承。
标签: java inheritance constructor default-constructor