通过private的构造方法来强制一个类不能被实例化
要保证一个类不能被实例化(比如某些Utility类,主要是一些静态方法),为这个类写一个private的构造方法那是最好的了。public class UtilityClass { private UtilityClass() { throw new AssertionError(); }......}
这样做同时保证了这个类不能被继承。因为子类必须要调用父类的构造方法的。
如果真的写了那么一个子类会怎么样呢?会在编译的时候出错的,表明父类的构造方法是private的。
Parent() has private access in Parent.
页:
[1]