PHP中文网2017-04-18 10:12:52
長い間検索しましたが、ブロックの実行時間を見つけることができませんでした。後で javap -c を使用してクラス ファイルを確認したところ、ブロックがコンストラクターにスローされ、<init> メソッドがスローされていることがわかりました。 invokespecial スーパークラスもその中にありましたが、ブロックの前にあったため、これで問題が説明されました。
高洛峰2017-04-18 10:12:52
まず第一に、javac コマンドを使用して Java クラスをコンパイルした後、Java クラスの初期化コード ブロックは消えます。初期化コード ブロック内のコードは各コンストラクターに「復元」され、すべてのコンストラクターの前に配置されます。コンストラクター内のコード。
基本的なプロセス:
リーリー自分で分析できます。