前言
自己java编程已有两年,自己也写过一些轮子,也在工作中针对自己以前写的代码重构过,但是距离那些优秀的类库总有一些差距,最近在看 Effective Java 第三版,书中总结甚为精辟,遂在阅读过程中逐条写下笔记,以指导自己更加有效的使用 java 编程语言及基本类库,涵盖部分jdk 7,8,9 的新特性
目的
Enforce noninstantiability with a private constructor
通过私有构造器强化不可实例化的能力
正文
这个正是利用私有构造器的原因,例如 JDK 中 java.lang.Math 或者 java.util.Arrays 将基本类型的值或者数组类型上的相关方法利用静态方法组织起来
或者通过 java.util.Collections 的方式,把特定接口的对象上的静态方法,包括工厂方法组织起来
这样的工具类不希望被实例化,因为实例化对它没有任何意义
副作用:
这个类不能被子类化,无法被继承
1 | /** |