码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2017-10-06 19:02:47      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:其他   font   私有   log   中文   java   logs   避免   调用   

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

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条:通过私有构造器强化不可实例化的能力

标签:其他   font   私有   log   中文   java   logs   避免   调用   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!