一、有时须要编写仅仅包含 静态变量和静态方法的类:java
- java.lang.Math 或 java.util.Arrays 基本类型值或数组类型 的相关方法组织起来
- java.util.Collections 把实现特定接口的静态方法组织起来
- 把 final 类型的类上的方法组织起来,而不是扩展 该类(final 没法扩展)
- 上述工具类,不但愿被实例化,实例化没有任何意义
二、缺乏显式构造器,编译器会提供一个 公有的 无参的缺省构造器数组
三、用抽象类强制该类不可被实例化,行不通:工具
- 缘由是:子类化后,子类能够被实例化!!!
- 更加误导用户,该类是为了继承而设计的
四、为类建立私有构造器设计

五、私有构造器缺点:继承
- 不可被子类化,由于全部子类都要显式或隐式调用父类构造器(私有则子类没法访问)