今日のメモ

継承先からのフィールド初期化/コンストラクタ実行の順序が勉強になったなぁ。

  1. フィールドにデフォルト値が設定される
  2. サブクラスのコンストラクタが呼び出される(実行はされない)
  3. スーパークラスのコンストラクタが呼び出される(実行はされない)
  4. Objectのコンストラクタが呼び出される
  5. スーパークラスのフィールドの初期化
  6. スーパークラスのコンストラクタの実行
  7. サブクラスのフィールドの初期化
  8. サブクラスのコンストラクタの実行