Java中有些工具类不需要实例化,实例化对它毫无意义,并且它们也没有必要子类化。比如:java.lang.Math、java.util.Arrays等。
然而,在缺少显式构造器的情况下,默认有一个无参的构造器。
所以我们采用显式方式定义一个私有构造器。这样该类就不能实例化、子类化了。我们也就达到目的了。
注:1、不能实例化的原因是:无法在外部访问私有构造器。
2、不能子类化的原因是:无法在子类中显式或隐式调用父类构造函数。而这又是创建子类所必须的。
Java中有些工具类不需要实例化,实例化对它毫无意义,并且它们也没有必要子类化。比如:java.lang.Math、java.util.Arrays等。
然而,在缺少显式构造器的情况下,默认有一个无参的构造器。
所以我们采用显式方式定义一个私有构造器。这样该类就不能实例化、子类化了。我们也就达到目的了。
注:1、不能实例化的原因是:无法在外部访问私有构造器。
2、不能子类化的原因是:无法在子类中显式或隐式调用父类构造函数。而这又是创建子类所必须的。