自JDK1.5之后,使用单例模式的最佳方式就是使用枚举,《Effective Java》第二版 ITEM 3
理由:
1、 自由序列化;
2、 保证只有一个实例(即使使用反射机制也无法多次实例化一个枚举量);
3、 线程安全;
实现方式:
public enum Singleton {
INSTANCE;
private Singleton() {
}
public void sayHello(String name) {
System.out.println("hello," + name);
}
}
调用:
public static void main(String[] args) {
Singleton.INSTANCE.sayHello("Join");
}