工具类(utility class)不但愿被实例化,好比只包含静态方法和静态域的类。为了这个目的,须要让这个类包含一个私有构造器。工具
// 私有构造器示例 public class UtilityClass { // 为该类不能被实例化、子类化添上注释 private UtilityClass() { // 避免不当心在类的内部调用构造器 throw new AssertionError(); } }
其余不可行方法和理由:spa
1. 将类写成抽象类:可被子类化,甚至误导用户子去继承这个类。code
2. 不写构造方法:类不包含显式的构造器时,编译器会生成缺省的构造器。blog