静的初期化ブロックについて
Java では、静的ブロックとも呼ばれる静的初期化ブロックは、内部に含まれる特別なコード ブロックです。静的フィールドを初期化するクラス定義。静的フィールドを宣言内で直接初期化できるのは事実ですが、静的ブロックが必要となる特定のシナリオがあります。
静的ブロックを使用する理由
静的ブロックは主に、静的フィールドの初期化に複雑な操作や 1 行では実現できない外部依存関係が必要な場合に使用されます。たとえば、データベース クエリまたはファイルの読み取りに基づいて値を割り当てる必要がある静的フィールドがある場合、これらの操作を実行し、結果を静的フィールドに割り当てるには静的ブロックが必要になります。
非静的ブロックとの比較
静的ブロックを、毎回実行される非静的 (またはインスタンス) ブロックと区別することが重要です。クラスのインスタンスが作成されたとき。対照的に、静的ブロックは、クラス自体が初期化されるときに一度だけ実行されます。
例
次のコードを考えてみましょう:
public class Test { static { // Static block - executed once when the class is initialized System.out.println("Static"); } { // Non-static block - executed every time an instance is created System.out.println("Non-static block"); } public static void main(String[] args) { Test t = new Test(); Test t2 = new Test(); } }
main メソッドを実行すると、次の出力が表示されます。
Static Non-static block Non-static block
これは、次のことを示しています。静的ブロックはインスタンスを作成する前に 1 回だけ実行されましたが、非静的ブロックはインスタンスが作成されるたびに 1 回ずつ、合計 2 回実行されました。
以上がJava で静的初期化ブロックを使用する必要があるのはいつ、なぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。