顺序是:
- 成员变量被初始化为层次结构中所有类的默认值
然后从最派生的类开始:
- 变量初始化器针对派生最多的类型执行
- 构造函数链可以确定将调用哪个基类构造函数
- 基类被初始化(递归所有这些:)
- 此类中链中的构造函数体被执行(请注意,如果将它们与
Foo() : this(...)
等链在一起,则可以有多个
请注意,在Java中,基类 在 运行变量初始化程序 之前 被初始化。如果您移植了任何代码,这是需要了解的重要区别:)
如果您有兴趣,我会在页面上提供更多详细信息。

顺序是:
然后从最派生的类开始:
Foo() : this(...)等链在一起,则可以有多个
请注意,在Java中,基类 在 运行变量初始化程序 之前 被初始化。如果您移植了任何代码,这是需要了解的重要区别:)
如果您有兴趣,我会在页面上提供更多详细信息。