問題タブ [static-initializer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 詳細な初期化手順 クラス変数初期化子
次の点について、多くの紛らわしい回答を見ました。
次に、クラスのクラス変数初期化子と静的初期化子、またはインターフェイスのフィールド初期化子のいずれかを、単一のブロックであるかのように、テキストの順序で実行します。
クラス変数初期化子にはインスタンス初期化ブロックが含まれていますか? 静的初期化子には静的ブロックが含まれていますか?それとも変数のみが含まれていますか?
そうでない場合、次のように intiliaztion の順序はどこにありますか: https://docs.oracle.com/javase/specs/jls/se8/html/jls-12.html#jls-12.4.2
例えば。:
java - Javaの静的ブロックの前にデフォルトのコンストラクターが実行される
Java でクラスをロードすると、最初にstatic ブロックが実行され、次にデフォルトのコンストラクターが実行されます。しかし、以下のコードでは、デフォルトのコンストラクターが静的ブロックの前に実行されていることがわかりました。
メインクラス:
出力:
その背後にある基本的な概念を知る必要があります。何が起こっているのでしょうか。? 誰かがその背後にある流れを理解するのを手伝ってくれませんか.