java - 创建一个无法创建其对象的类

标签 java class object access-modifiers

我正在攻读学士学位,我的教授给了我一个任务,他说:创建一个类,而不使用任何访问修饰符或接口(interface)关键字,其对象无法创建。

我通过谷歌搜索但找不到解决方案。这在 Java 中如何实现?

最佳答案

枚举是无法实例化且无法子类化的类 ( JLS§8.9 );只创建一个没有任何值的:

enum Foo {}

其他可能性取决于解释:

JonKT.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/

相关文章:

来自对象的 Javascript "pop"

javascript - 如何实现像 jQuery 这样的链式方法调用?

java - izpack java 安装程序,带 noShow 的快捷方式仍然显示批处理窗口

Swift - 在静态/类函数中引用当前类类型

java - 在Spring Boot中访问请求头?

c++ - 如何将使用参数包和类型名的类作为函数的输入参数(C++)

C++双向链表 - 使用pop_back()从尾部删除元素

c++ - 如果指针设置为 NULL,则任何对它的引用或通过它的引用也不会是 NULL

java catch block 导致多个输出

java - 如何使用 JFileChooser.showOpenDialog 打开特定文件?