-4

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

4

3 回答 3

5

将其声明为抽象并添加一个私有构造函数。

于 2013-10-10T14:10:41.613 回答
2

你的意思是永远不能创建实例吗?还是只有一个实例?

如果无法创建实例,则使用私有构造函数使类成为最终类。然后所有方法都需要是静态的。一个很好的例子是java.lang.Math

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

public enum MyClass{

   INSTANCE;


  ...methods
}

使用此类的代码然后调用如下方法MyClass.INSTANCE.foo()

于 2013-10-10T14:16:35.073 回答
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");
    }
}
于 2013-10-10T14:13:47.500 回答