検索

ホームページ  >  に質問  >  本文

Java中类初始化代码块和父类构造器执行顺序问题,

阿神阿神2767日前395

全員に返信(2)返信します

  • PHP中文网

    PHP中文网2017-04-18 10:12:52

    長い間検索しましたが、ブロックの実行時間を見つけることができませんでした。後で javap -c を使用してクラス ファイルを確認したところ、ブロックがコンストラクターにスローされ、<init> メソッドがスローされていることがわかりました。 invokespecial スーパークラスもその中にありましたが、ブロックの前にあったため、これで問題が説明されました。

    返事
    0
  • 高洛峰

    高洛峰2017-04-18 10:12:52

    まず第一に、javac コマンドを使用して Java クラスをコンパイルした後、Java クラスの初期化コード ブロックは消えます。初期化コード ブロック内のコードは各コンストラクターに「復元」され、すべてのコンストラクターの前に配置されます。コンストラクター内のコード。

    基本的なプロセス:

    リーリー

    自分で分析できます。

    返事
    0
  • キャンセル返事