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

Java 物件生命週期:建立、使用與記憶體回收機制詳解

     編輯:Java 相關知識

物件生命週期概觀

在 Java 程式設計中,物件的生命週期涵蓋了建立、使用與銷毀三個階段。典型的 Java 應用程式會建立大量物件,這些物件透過傳遞訊息相互協作,以實現圖形介面、動畫播放或網路通訊等功能。當物件完成任務不再被引用時,Java 的垃圾回收機制會自動釋放其佔用的記憶體資源,供其他物件重複使用。

建立物件的三大步驟

每個物件建立語句皆包含三個關鍵部分:

  1. 宣告:指定變數型別與名稱(如 Point origin_one),此時僅建立參考變數,尚未配置實體物件。
  2. 實例化:使用 new 運算子在堆疊配置記憶體空間。
  3. 初始化:呼叫建構子為新物件設定初始狀態(如 new Point(23, 94))。

程式碼範例:CreateObjectDemo

public class CreateObjectDemo {
    public static void main(String[] args) {
        // 建立一個 Point 物件與兩個 Rectangle 物件
        Point origin_one = new Point(23, 94);
        Rectangle rect_one = new Rectangle(origin_one, 100, 200);
        Rectangle rect_two = new Rectangle(50, 100);

        // 顯示 rect_one 寬、高與面積
        System.out.println("Width of rect_one: " + rect_one.width);
        System.out.println("Height of rect_one: " + rect_one.height);
        System.out.println("Area of rect_one: " + rect_one.area());

        // 設定並移動 rect_two 位置
        rect_two.origin = origin_one;
        System.out.println("X Position of rect_two: " + rect_two.origin.x);
        System.out.println("Y Position of rect_two: " + rect_two.origin.y);
        rect_two.move(40, 72);
        System.out.println("X Position of rect_two: " + rect_two.origin.x);
        System.out.println("Y Position of rect_two: " + rect_two.origin.y);
    }
}

建構子多載與預設建構子

類別可定義多個建構子,參數列表不同即可區分(多載)。若類別未明確定義任何建構子,編譯器會自動提供無參數的預設建構子。Rectangle 類別展示了四種建構子,支援以不同方式初始化原點、寬度與高度。

使用物件:存取欄位與呼叫方法

物件建立後,可透過「物件參考.欄位名」或「物件參考.方法名()」來操作其狀態與行為。例如 rect_one.width 存取實例欄位,rect_one.area() 呼叫實例方法。同類別的不同物件各自擁有獨立的欄位副本。

記憶體回收:自動清除未使用物件

Java 執行環境內建垃圾收集器,會定期掃描堆疊中不再被任何參考變數指向的物件,並自動釋放其記憶體。開發人員無需(也無法)手動釋放記憶體,這大幅降低了記憶體洩漏風險。

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