首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

深入理解 Java 父類與子類的初始化順序

     編輯:Java 程式設計入門

在 Java 繼承體系中,子類的構建過程是從基類向外擴散的:當子類被初始化時,其父類必定已經完成初始化。這篇文章透過程式碼範例,詳細演示了這一機制的執行流程。

程式碼範例

class Art {
    Art() {
        System.out.println("Art");
    }
}

class Drawing extends Art {
    Drawing() {
        System.out.println("Drawing");
    }
}

public class Cartoon extends Drawing {
    Cartoon() {
        System.out.println("Cartoon");
    }

    public static void main(String[] args) {
        Art cartoon = new Cartoon();
    }
}

輸出結果

Art
Drawing
Cartoon

核心解析

從輸出可以清晰地看到,構造方法的調用順序遵循「由父到子」的原則:

  1. 首先執行最頂層父類 Art 的構造方法;
  2. 接着執行中間繼承類 Drawing 的構造方法;
  3. 最後執行子類 Cartoon 的構造方法。

這是因為 Java 在創建子類對象時,會隱式或顯式調用 super(),確保父類狀態先被正確初始化,才繼續初始化子類特有的狀態。理解這一順序對於避免繼承中因初始化不當導致的邏輯錯誤至關重要。

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