Java static初期化ブロックと初期化ブロックのサンプル

static初期化ブロックと初期化ブロックのサンプルです。

ブロック

「{」(波括弧) から「}」までをブロックと言います。
ブロックは入れ子にすることもできます。

static初期化ブロック

クラスがよばれる1回めのみ実行されるブロックです。
1番目に実行されます。コンストラクタ、初期化ブロックより前に実行されます。

初期化ブロック

インスタンスが生成されるごとに実行されるブロックです。
static初期化ブロックより後、コンストラクタの前に実行されます。

コード

サンプルのコードです。
27行目で、1つ目のインスタンスを生成しています。最初に10行目のstatic初期化ブロック、次に15行目の初期化ブロック、次に20行目のコンストラクタが呼ばれます。
30行目で、2つ目のインスタンスを生成しています。最初に15行目の初期化ブロック、次に20行目のコンストラクタが呼ばれます。

package test1;
 
/**
 * static初期化ブロックと初期化ブロックのサンプル
 */
class Sample {
 
	// static初期化ブロック  
	// クラスがよばれる1回めのみ実行されるブロック 1番目に実行される
	static{
		System.out.println("static初期化ブロック");
	}
	
	// 初期化ブロック  インスタンスが生成されるごとに実行されるブロック
	{
		System.out.println("初期化ブロック");
	}

	// コンストラクタ
	Sample(){
		System.out.println("コンストラクタ");
	}
}
 
public class Test1 {
	public static void main(String[] args) {
		Sample s1 = new Sample(); 
			//出力結果  static初期化ブロック,初期化ブロック,コンストラクタ
		
		Sample s2 = new Sample(); 
			//出力結果  初期化ブロック,コンストラクタ
 	}
}

関連の記事

Java メンバー変数とローカル変数
Java 基本型とラッパークラス
Java staticメソッドとstatic変数のサンプル
Java staticインポートのサンプル
Java final修飾子のサンプル
Java abstract修飾子のサンプル




△上に戻る