要保证一个类不能被实例化(比如某些Utility类,主要是一些静态方法),为这个类写一个private的构造方法那是最好的了。
这样做同时保证了这个类不能被继承。因为子类必须要调用父类的构造方法的。
如果真的写了那么一个子类会怎么样呢?会在编译的时候出错的,表明父类的构造方法是private的。
Parent() has private access in Parent.
public class UtilityClass {
private UtilityClass() {
throw new AssertionError();
}
......
}
这样做同时保证了这个类不能被继承。因为子类必须要调用父类的构造方法的。
如果真的写了那么一个子类会怎么样呢?会在编译的时候出错的,表明父类的构造方法是private的。
Parent() has private access in Parent.
本文介绍了一种通过将构造方法设置为私有的方式来防止某个类被实例化的方法。这种方式适用于工具类等仅包含静态方法的类,同时也阻止了该类被继承。
1031

被折叠的 条评论
为什么被折叠?



