我们在开发中经常会去做一些工具类,这些类中的方法和变量都是static的。而这样的工具类是不希望呗实例化的。然后我们知道jdk会在无构造器的时候,自动的提供一个无参数的缺省构造器。该构造器就会提供给用户一个创建改类对象的接口,因而我们在工具类中会将此构造函数显示化私有化:
public class UtilityClass{
private UtilityClass(){
// 用来避免在类内不小心的调用该构造器
throw new AssertError();
}
......
}
该条建议,在第1条,建议使用静态工厂方法代替构造器中也被使用,来屏蔽外层对于构造器创建对象实例的接口。
第四条:通过私有构造器强化不可实例化的能力,码迷,mamicode.com
时间: 2024-10-19 22:24:32