Javaの静的ブロック [重複] 質問する

Javaの静的ブロック [重複] 質問する

先日、コードを調べていたところ、次のようなコードを見つけました。

static {
    ...
}

C++ 出身なので、なぜそれがそこにあるのか分かりませんでした。コードは正常にコンパイルされたので、エラーではありません。この「静的」コード ブロックとは何でしょうか?

ベストアンサー1

それは静的初期化子これは、クラスがロードされたとき(正確には初期化されたときですが、通常は違いに気付かないでしょう)に実行されます。

これは「クラスコンストラクター」と考えることができます。

また、インスタンス初期化子、キーワードがない点を除いて同じように見えます。これらは、オブジェクトの新しいインスタンスが作成されるときに、コンストラクター内のコードに加えてstatic実行されます。

おすすめ記事