java中构造函数的继承

luG*_*G_0 2 java class-constructors inheriting-constructors

每当在任何派生类中调用任何构造函数时,任务只能通过最终隐式或显式地调用基类构造函数来完成(如果我在这里错了,请纠正我).

因为我们打算创建派生类的实例,但是因为最后调用了基类构造函数.

那么,尽管调用了基类的构造函数,如何构造派生类的实例?

Jon*_*eet 13

不要将构造函数视为创建实例.将其视为初始化实例,与该特定类相关.

所以初始化过程看起来像:

  • 分配内存
  • 从视角初始化对象 java.lang.Object
  • 从视角初始化对象 your.package.Superclass
  • 从视角初始化对象 your.package.Subclass

(即使您从调用开始,new Subclass(...)首先执行超类构造函数体.)

对象初始化的细节在JLS 12.5节中给出.