我有一个单例类,如下所示:
public class GlobalClass
{
public final int _SUCCESS = 0;
private static GlobalClass singleton = new GlobalClass( );
private GlobalClass(){} //Private constructor for Singleton class.
public static GlobalClass getInstance()
{
return singleton;
}
}
我想创建一个枚举变量。我无法做到。我写了下面的代码。
public class GlobalClass
{
enum myEnum {
_ZERO, _ONE, _TWO
}
public final int _SUCCESS = 0;
//public final int _ONE = 1;
private static GlobalClass singleton = new GlobalClass( );
private GlobalClass(){} //Private constructor for Singleton class.
public static GlobalClass getInstance()
{
return singleton;
}
}
以上是什么问题?
答案 0 :(得分:0)
您只在GlobalClass
内声明了枚举(这是一种特殊形式的类)。
您缺少的是将该类型的变量声明为
private myEnum _MY_ENUM_INSTANCE;
此外,我建议您以更有效的方式实现单例模式,如What is an efficient way to implement a singleton pattern in Java?中所述(出于一些非显而易见的原因,也使用枚举。)