- 在缺少显式构造器的情况下,编译器会自动提供一个公有的 无参的缺省构造器( defaultconstructor) 对于用户而言,这个构造器与其他的构造器没有任何区别
-
企图通过将类做成抽 象类 来强制该类不可被实例化是行不通的 该类可以被子类化,并且该类的子类也可以被实例化
- 实际上,我们可以将无参的构造函数私有化,这样就能避免类的外部去访问它。但这样做仍然是不够的,因为类的内部还是可以访问它。因此,我们还需要在其构造函数内抛出一个异常,来防止其在内部实例化该类。
public class UtilityClass{
private UtilityClass(){
throw new AssertionError();
}
}