我有一个包含所有静态方法的类,基本上可以像 ClassName#MethodName()
那样进行调用。
我希望此类始终不可实例化,因此我已将构造函数可见性设置为 private
。这当然可以避免从类外部创建它的任何实例。
我想知道是否有任何我不知道的技术术语或专门设计用于执行此操作的任何设计模式。
此外,这不会阻止我或任何其他开发人员从同一类中实例化它。我想知道是否有可能阻止这样做但保持相同的类行为。另外,如果有的话,还有哪些其他选择?
最佳答案
我只是使用了一个enum
类是final
,它的构造函数是private
,即使通过反射也不能实例化。
public enum Utility {;
public static void staticMethod() {
// do something
}
}
使用 enum
允许您定义一个类的所有可能实例,因此您已经定义了不可能有任何实例。
关于java - 如果我不想实例化一个类,我有什么选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20859137/