Java 入門

ホーム > Java の基本 > 初期化の順序 - 変数の初期化 (3/3)

初期化の順序 - 変数の初期化 (3/3)

ここまでで、変数の既定値での初期化、コンストラクタでの初期化、 および 初期化ブロック についてみてきました。

ここでは、これらの初期化がどのような順番で行われるのか整理しましょう。

初期化の順序

Java のクラスで定義されたフィールドの初期化は次の順番で行われます。

  1. クラスロード時に静的初期化ブロックが実行される
    ここでは static 変数のみが初期化可能
  2. クラスのフィールドとして宣言した変数を既定値で初期化する
  3. オブジェクトの生成時に初期化ブロックが実行される
  4. 次にコンストラクタが実行される

いつ使うか?

簡単な変数の初期化は可能ならば宣言時に行うと良いです。

int door = 4;

オブジェクト毎のパラメータを必要とせず、 上記の例で乱数を生成していましたが、そのように初期化に複雑なロジックが必要になる場合は、 初期化ブロックで変数を初期化すると良いでしょう。

コンストラクタへのパラメータなど、パラメータを受け取って初めて初期化できるコードはコンストラクタに記述する必要があります。

以上、変数の初期化について説明しました。

ホーム > Java の基本 > 初期化の順序 - 変数の初期化 (3/3)