我正在攻读学士学位,我的教授给了我一个任务,他说:创建一个类,而不使用任何访问修饰符或接口(interface)关键字,其对象无法创建。
我通过谷歌搜索但找不到解决方案。这在 Java 中如何实现?
最佳答案
枚举是无法实例化且无法子类化的类 ( JLS§8.9 );只创建一个没有任何值的:
enum Foo {}
其他可能性取决于解释:
JonK和 T.J. Crowder考虑从构造函数中抛出异常:
final class Example {
Example() {
throw new Exception();
}
}
但是nick zoum指出在异常发生之前,一个实例仍然被创建并存在,即使它不能(在上面的例子中)被保留。
nick zoum考虑抽象
:
abstract class Example {
}
...但是 T.J. Crowder指出 abstract
类可以被子类化(它们不能是 final
),并且子类实例"is"父类(super class)实例。
关于java - 创建一个无法创建其对象的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40234558/