問題タブ [variable-initialization]
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 - 変数の初期化を初期化ブロックに入れると、宣言前に初期化できるのはなぜですか?
次のコードを検討してください。
宣言されていない変数を初期化しようとすると、明らかにコンパイルされません。
ただし、ステートメントを初期化ブロックに入れると、正常にコンパイルされます。
この宣言前の初期化を有効にする初期化ブロックのこの「機能」は何ですか?
質問をする前に、SO の初期化ブロックに関するいくつかの投稿を読みましたが、それらは主に初期化の順序に関する問題 (静的と非静的など) に対処しているようです。
java - 詳細な初期化手順 クラス変数初期化子
次の点について、多くの紛らわしい回答を見ました。
次に、クラスのクラス変数初期化子と静的初期化子、またはインターフェイスのフィールド初期化子のいずれかを、単一のブロックであるかのように、テキストの順序で実行します。
クラス変数初期化子にはインスタンス初期化ブロックが含まれていますか? 静的初期化子には静的ブロックが含まれていますか?それとも変数のみが含まれていますか?
そうでない場合、次のように intiliaztion の順序はどこにありますか: https://docs.oracle.com/javase/specs/jls/se8/html/jls-12.html#jls-12.4.2
例えば。: