首页 > 代码库 > 第四条:通过私有构造器强化不可实例化的能力

第四条:通过私有构造器强化不可实例化的能力

我们在开发中经常会去做一些工具类,这些类中的方法和变量都是static的。而这样的工具类是不希望呗实例化的。然后我们知道jdk会在无构造器的时候,自动的提供一个无参数的缺省构造器。该构造器就会提供给用户一个创建改类对象的接口,因而我们在工具类中会将此构造函数显示化私有化:

public class UtilityClass{
  private UtilityClass(){
        //  用来避免在类内不小心的调用该构造器    
        throw new AssertError();
  }
   ......
}    

该条建议,在第1条,建议使用静态工厂方法代替构造器中也被使用,来屏蔽外层对于构造器创建对象实例的接口。