首页 > 解决方案 > 防止 Java 类被实例化和继承

问题描述

我被要求修改一个简单的类,这样它就不能被实例化和继承。我对如何使用 abstract 不被实例化和 final 不被继承感到困惑。

我应该怎么写这样的课?

提前致谢。

标签: javainheritanceinstance

解决方案


一个类不能既是最终的又是抽象的。您可以通过隐藏构造函数来防止实例化,并引发异常以防止通过反射进行实例化。

看起来像这样:

final class MyClass {
    private MyClass() {
        throw new IllegalStateException("Cannot be instantiated"); //some exception
    }
}

推荐阅读