【发布时间】:2015-01-09 14:05:49
【问题描述】:
我有这个类,我用这种方式作为单例使用:
FlagOfficer.instance().someVariable
这是该类的当前实现:
public class FlagOfficer {
public FlagOfficer() {
}
static FlagOfficer flagOfficer = null;
public static FlagOfficer instance() {
if (flagOfficer == null) {
flagOfficer = new FlagOfficer();
}
return flagOfficer;
}
public boolean getLastBackupDate;
public boolean syncProcessStartedOnce;
}
我现在正在阅读“Effective Java”一书,他们说实现单例模式的最佳方法是使用单元素枚举类型
这是本书的一个例子:
public enum Elvis {
INSTANCE;
public void leaveTheBuilding() { ... }
}
那么我如何转换我的类以使其使用这种模式?之后我该如何使用它?
【问题讨论】:
-
你的构造函数真的公开吗?任何人都可以调用 new FlagOfficer() 并且你有多个实例。
-
伙计,很高兴你注意到了这一点!