使用私有构造器补充不可实例化的类

在编写只包含静态方法和静态域的工具类时只希望使用类对外提供服务而不是被实例化后提供服务。在编写这种类时可以加上一个私有构造器防止调用者实例化该类。

// 不可实例化的工具(公共)类
public class CommomUtil {

    // 强制覆盖默认构造器使自身不被外部实例化
    private CommomUtil() {}

}

这种做法有个缺点就是无法被子类继承。Java中子类默认会调用父类的默认构造器(在子类构造器的第一行),但是父类构造器是private无法被访问。

猜你喜欢

转载自www.cnblogs.com/yhcjhun/p/11083233.html
今日推荐