您的位置:首页 > 其它

使用枚举enum实现单例模式

2017-07-26 15:53 351 查看
单例模式的实现:

1, 普通模式:

public class SingleDemo {
private static SingleDemo instance;

private SingleDemo() {}

public SingleDemo getInstance() {
if (instance == null) {
instance = new SingleDemo();
}

return instance;
}
}

以上模式为懒汉模式

可以改造为饥饿模式,即Class加载即new对象

public class SingleDemo {
private static SingleDemo instance = new SingleDemo();

private SingleDemo() {}

public SingleDemo getInstance() {
return instance;
}
}

上述方法可以可以通过反射,突破单例模式。

可以使用 enum方式实现

public enum SingleDemoEnum {
INSTANCE;

public void method() {
// do work.
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: