如何在java中创建一个无法创建实例的类?

时间:2013-10-10 14:09:55

标签: java class instance

我必须创建一个类。无法创建此类的实例。我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:4)

将其声明为abstract并添加私有构造函数。

答案 1 :(得分:2)

你的意思是不能做出任何实例吗?或只是一个实例?

如果没有实例,那么使用私有构造函数使类成为final。然后所有方法都必须是静态的。一个很好的例子是java.lang.Math

如果您只需要一个实例并且不想让其他人创建新实例,那么请考虑使用 Effective Java 2nd ed 中描述的枚举:

public enum MyClass{

   INSTANCE;


  ...methods
}

使用此类的代码然后调用这样的方法:MyClass.INSTANCE.foo()

答案 2 :(得分:0)

如果您不想实例化该类,那么我假设您只希望它有一些静态方法。在这种情况下,您可以使用enum轻松完成此操作而不使用

等常量
enum MyUtilities{
    ;//if you want you can place instances of that class here, or not place any

    //your methods
    public static void myMethod(){
        System.out.println("hello");
    }
}