首页 > 编程语言 > 详细

《Effective Java 中文版 第2版》学习笔记 第4条:通过私有构造器强化不可实例化的能力

时间:2017-10-06 18:59:26      阅读:278      评论:0      收藏:0      [点我收藏+]

  只有当类不包含显式的构造器时,编译器才会生成一个公有的、无参的缺省构造器。只要让一个类包含私有构造器,这个类就不能被实例化了。示例:

1 // 工具类
2 public class UtilityClass {
3     // 私有构造器
4     private UtilityClass {
5         throw new AssertionError();
6     }
7     
8     // 其他操作...
9 }

  AssertionError避免在类的内部调用构造器,保证该类在任何情况下都不会被实例化。同时,这个类不能被子类化,因为子类构造器无法显式或隐式地调用该类(父类)的私有构造器。

 

  参考资料

  《Effective Java 中文版 第2版》 P16  

《Effective Java 中文版 第2版》学习笔记 第4条:通过私有构造器强化不可实例化的能力

原文:http://www.cnblogs.com/WJQ2017/p/7631936.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!