单例模式-枚举方式

 1 /**
 2  * 单例模式-枚举方式
 3  */
 4 public class SingletonTest08{
 5     public static void main(String[] args) {
 6         Singleton instanceOne = Singleton.INSTANCE;
 7         Singleton instanceTwo = Singleton.INSTANCE;
 8         // out: true
 9         System.out.println(instanceOne == instanceTwo);
10         instanceOne.sayOK();
11     }
12 }
13 
14 enum Singleton {
15     /**
16      * 枚举属性
17      */
18     INSTANCE;
19     public void sayOK() {
20         System.out.println("ok!");
21     }
22 }

枚举:

优缺点:

1) 这种借助JDK1.5中添加的枚举来实现单例模式。不仅能避免多线程同步问题,而且还能防止反序列化重新创建新的对象。

2) 这种方式Effective Java作者Josh Bloch提倡的方式。

3) 结论:推荐使用

posted @ 2020-10-31 22:25  树树树  阅读(308)  评论(0)    收藏  举报