博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Effective java 第2版 - 笔记(01) 单例(Singleton)的枚举(enum)实现
阅读量:4969 次
发布时间:2019-06-12

本文共 841 字,大约阅读时间需要 2 分钟。

直接上代码:

1 public enum Boss { 2  3     INSTANCE; 4  5     private String name; 6  7     public void doSomeThing() { 8         System.out.println(name + " is doing something now..."); 9     }10 11     public String getName() {12         return name;13     }14 15     public void setName(String name) {16         this.name = name;17     }18 19 }

注:java中的enum是一个彻彻底底的class,可以自由添加其它属性、方法,所以完全可以当成一个class来用。

 

验证:

1     @Test 2     public void testSingleton() { 3  4         Boss b1 = Boss.INSTANCE; 5         b1.setName("张三"); 6         b1.doSomeThing();//张三 is doing something now... 7  8         Boss b2 = Boss.INSTANCE; 9         b2.doSomeThing();//张三 is doing something now...10 11         System.out.println(b1.equals(b2));//true12 13     }

11行输出的true,已经证明了b1与b2是同一个对象,而且这种方式绝对防止反射调用私有构造器来破坏单例。

转载于:https://www.cnblogs.com/yjmyzz/p/4282067.html

你可能感兴趣的文章
单片机复位电路
查看>>
php json_decode失败,返回null
查看>>
oracle 分页
查看>>
助教学期总结
查看>>
绘制基本 图形之矩形与多边形
查看>>
3-day3-list-truple-map.py
查看>>
Edit控件显示多行文字
查看>>
JS第二周
查看>>
dataTable.NET的search box每輸入一個字母進行一次檢索的問題
查看>>
Python 文件处理
查看>>
邻接表详解
查看>>
服务器一:分布式服务器结构
查看>>
迭代dict的value
查看>>
eclipse package,source folder,folder区别及相互转换
查看>>
Py 可能是最全面的 python 字符串拼接总结(带注释版)
查看>>
《Java程序设计实验》 软件工程18-1,3 OO实验2
查看>>
【Herding HDU - 4709 】【数学(利用叉乘计算三角形面积)】
查看>>
【7-9 有重复的数据I (20 分)】【此题卡输入,需要自己写个输入挂】
查看>>
JRebel安装部署,激活
查看>>
OPENSSL使用方法
查看>>