静的初期化コード ブロックと非静的初期化コード ブロック
Java では、static キーワードを使用してクラスレベルの変数とメソッドを宣言できます。クラスのインスタンスを作成せずにアクセスできます。ただし、クラス内の関数の一部ではないコード ブロックで static を使用することもできます。
クラス初期化コード ブロック
A クラス初期化コード ブロックは、static 修飾子を使用して宣言されています。これは、クラスがメモリにロードされるときに実行され、静的変数を初期化し、他のクラスレベルのタスクを実行するために使用されます。例:
public class Test { private static int a = 5; static { System.out.println("Class initialization code executed"); } }
クラス初期化コード ブロックは、Test クラスのインスタンスが作成される前に実行され、変数 a は 5 に初期化されます。
インスタンス初期化コード ブロック
インスタンス初期化コード ブロックは、 static 修飾子なしで宣言され、クラスのインスタンスの作成時に実行されます。これは、インスタンス変数を初期化し、インスタンスのその他の初期化タスクを実行するために使用されます。例:
public class Test { private int a = 5; { System.out.println("Instance initialization code executed"); } }
インスタンス初期化コード ブロックは、Test クラスのコンストラクターが呼び出される前に実行され、変数 a は 5 に初期化されます。
Key相違点
クラスとインスタンスの初期化コード ブロックの主な違いは次のとおりです。
以上がJava の静的初期化コード ブロックと非静的初期化コード ブロックの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。