通过private的构造方法来强制一个类不能被实例化

要保证一个类不能被实例化(比如某些Utility类,主要是一些静态方法),为这个类写一个private的构造方法那是最好的了。
public class UtilityClass {
    private UtilityClass() {
        throw new AssertionError();
    }
......
}

这样做同时保证了这个类不能被继承。因为子类必须要调用父类的构造方法的。
如果真的写了那么一个子类会怎么样呢?会在编译的时候出错的,表明父类的构造方法是private的。
Parent() has private access in Parent.

你可能感兴趣的:(Access)