序言

有时候可能一个类中只包含静态方法和静态域的类,这种类的大多是不希望被初始化的,因为实例化没有任何意义。然而编译器会默认提供一个 公有的无参构造 因此 只要让这种类包含一个私有的构造器,它就不能被实例化了。
比如java中的Math类

  1. public final class Math {
  2. /**
  3. * Don't let anyone instantiate this class.
  4. */
  5. private Math() {}
  6. ....
  7. }

注意

但是啊要注意,只要存在私有构造参数的类,这种类都没有办法被 继承,因为继承的时候也会显示的调用其 超类公有的构造器。