首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java 構造器鏈:this() 調用無參構造函數的執行順序解析

     編輯:程式設計綜合問答

代碼場景

class Tom extends Jerry {
    public Tom() { System.out.println("Tom"); }
    public Tom(String s) {
        this();          // 調用無參構造器
        System.out.println("I am " + s);
    }
}

執行流程

  1. 調用 new Tom("test")。
  2. 進入 Tom(String),首行 this() 顯式調用 Tom()。
  3. Tom() 隱式調用 super() → 執行 Jerry() 輸出 "Jerry"。
  4. Tom() 體輸出 "Tom"。
  5. 返回 Tom(String) 繼續輸出 "I am test"。

輸出結果

Jerry
Tom
I am test

關鍵規則

  • this() / super() 必須是構造器第一條語句。
  • 若無顯式 this(),編譯器隱式插入 super()。
  • 構造器鏈最終必須到達 Object()。

用戶頭像

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved