优缺点说明:
- 这借助JDK1.5中添加的枚举来实现单例模式。不仅能避免多线程同步问题,而
且还能防止反序列化重新创建新的对象。 - 这种方式是Effective Java作者Josh Bloch 提倡的方式
- 结论:推荐使用
代码实现:
package com.it.singleton;
/*枚举*/
public class Singleton7 {
public static void main(String[] args) {
Singleton singleton1 = Singleton.SINGLETON;
Singleton singleton2 = Singleton.SINGLETON;
System.out.println(singleton1 == singleton2);//true
System.out.println(singleton1.hashCode() == singleton2.hashCode());//true
singleton1.sayOK();
singleton2.sayOK();
}
enum Singleton{
SINGLETON; //属性
public void sayOK() {
System.out.println("OK~");
}
}
}