java - 防止 Java 类被实例化和继承
问题描述
我被要求修改一个简单的类,这样它就不能被实例化和继承。我对如何使用 abstract 不被实例化和 final 不被继承感到困惑。
我应该怎么写这样的课?
提前致谢。
解决方案
一个类不能既是最终的又是抽象的。您可以通过隐藏构造函数来防止实例化,并引发异常以防止通过反射进行实例化。
看起来像这样:
final class MyClass {
private MyClass() {
throw new IllegalStateException("Cannot be instantiated"); //some exception
}
}
推荐阅读
- ios - 如何在 swiftUI 中构建这样的网格列表?
- javascript - 侧边栏仅在屏幕尺寸 > 992 像素及以上时修复,但仍无法正常工作
- c# - 带有默认值的较短参数列表
- html - 如何将 appsettings.json 文件中的值用作 AMP html 中的 href 变量?
- dataframe - 数据框显示整数数组而不是字符串
- json - 使用 react i18 库进行本地化,但从 api 调用中获取 json 文件
- typescript - 在带有 v-for 循环的 vue3 模板中键入注释
- google-drive-api - 如何通过与 Google Drive API 共享链接来下载文件
- image - 不使用 imagepicker 在子类中添加图像?
- android-studio - 为什么我的虚拟模拟器运行我的旧应用程序?