04.使用私有化构造方法执行非实例化
使用私有构造方法执行非实例化
在某些时候,我们可能会创建一些只包含静态方法的工具类。一般情况下,我们不希望调用方创建这些类的实例,主要存在以下原因:
- 工具类强调执行的过程,没有状态,它与具体的对象无关。
- 为了避免因为创建对象导致额外的开销。在创建对象时,会产生包括内存分配和对象的初始化,对于静态的工具类而言,这些是没必要的。
- 防止类被误用,同上。
针对以上的情况,推荐在静态工具类中添加一个私有的构造方法,避免创建类的实例。
public class JaxbConvertHelper {
private JaxbConvertHelper() {
throw new AssertionError();
}
public static void doSomething(){
// xxxx
}
}