Update 04. 使用私有构造方法执行非实例化.md (#61)

This commit is contained in:
刘雄斌 2020-12-22 14:54:32 +08:00 committed by GitHub
parent 85a1ef73af
commit 15ac584d63
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -20,4 +20,4 @@ public class UtilityClass {
  因为显式构造器是私有的,所以不可以在类的外部访问它。`AssertionError` 异常不是严格要求的,但是它可以避免不小心在类的内部调用构造器。它保证类在任何情况下都不会被实例化。这个习惯用法有点违反直觉,好像构造器就是设计成不能调用的一样。因此,如前面所示,添加注释是种明智的做法。
  这种习惯有一个副作用,就是使得一个类不能子类化。所有的构造器都必须显式或隐式地调用父类构造器,而在这情况下子类则没有可访问的父类构造器来调用。
  这种习惯有一个副作用,就是使得一个类不能子类化。所有的构造器都必须显式或隐式地调用父类构造器,而在这情况下子类则没有可访问的父类构造器来调用。