《Effective Java 中文版 第2版》学习笔记 第4条:通过私有构造器强化不可实例化的能力
Posted 王景迁
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《Effective Java 中文版 第2版》学习笔记 第4条:通过私有构造器强化不可实例化的能力相关的知识,希望对你有一定的参考价值。
只有当类不包含显式的构造器时,编译器才会生成一个公有的、无参的缺省构造器。只要让一个类包含私有构造器,这个类就不能被实例化了。示例:
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条:通过私有构造器强化不可实例化的能力的主要内容,如果未能解决你的问题,请参考以下文章
《Effective Java 中文版 第2版》学习笔记 第6条:消除过期的对象引用
Effective Java中文版(第2版) PDF分享下载