单例(枚举)
package com.young.singleton.type8;
/**
* @author Shaw_Young
* @date 2020/9/3 18:39
*/
public class SingletonTest08 {
public static void main(String[] args) {
Singleton instance = Singleton.INSTANCE;
Singleton instance2 = Singleton.INSTANCE;
System.out.println(instance==instance2);
System.out.println(instance.hashCode());
System.out.println(instance2.hashCode());
instance.sayOk();
instance2.sayOk();
}
}
/**
* 使用枚举,可以实现单例,推荐使用
*/
enum Singleton {
//属性
INSTANCE;
public void sayOk() {
System.out.println("ok~");
}
}
优缺点说明:
- 这借助JDK1.5中添加的枚举来实现单例模式。不仅能避免多线程同步问题,而且还能防止反序列化重新创建新的对象。
- 这种方式是Effective Java作者Josh Bloch提倡的方式。
- 结论: 推荐使用 。
本文标题:单例(枚举)
本文链接:https://www.haomeiwen.com/subject/lauosktx.html
网友评论