gus*_*afc 11
制作单身人士的最佳方法是什么?使用枚举.
public enum Singleton {
INSTANCE;
public void foo(){ ... }
}
// Usage:
Singleton.INSTANCE.foo();
Run Code Online (Sandbox Code Playgroud)
您可以从VM获得大量帮助,不仅可以避免双重实例化,还可以帮助您避免反序列化损坏.
也许最好的方法是使用带有单个实例的枚举.这样做的另一个好处是可序列化并保证对序列化和反射的单一性,这没有"直截了当"的Singleton实现(私有?我有反思,我嘲笑你的访问修饰符!).它的实现也非常简单:
public enum Singleton {
INSTANCE;
// fields and methods go here
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7022 次 |
最近记录: |