」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 物件創建

物件創建

發佈於2024-08-07
瀏覽:770

Criação de objetos

物件是如何創建的

  • 行 Vehicle minivan = new Vehicle();宣告一個 Vehicle 類型的物件。

  • 該語句做了兩件事:
    聲明一個名為 Vehicle 類別的小型貨車的變數。
    建立物件的實體副本並使用 new 運算子為小型貨車分配對其的參考。

  • new 運算子為物件動態分配記憶體並傳回對該物件的參考。

  • 引用或多或少是new分配的記憶體中物件的位址。

  • 然後將引用儲存在變數中。

  • 在Java中,類別中的所有物件都必須動態分配。

  • 語句的兩個步驟可以重寫以單獨顯示每個步驟。

小型貨車; // 聲明物件的引用。
小型貨車=新車輛(); // 分配一個 Vehicle 物件。

  • 第一行將小型貨車聲明為對 Vehicle 類型的物件的引用。

  • minivan 是可以引用物件的變量,但不是物件。

  • 目前,小型貨車不引用物件。

  • 下一行建立一個新的 Vehicle 對象,並為小型貨車分配對其的引用。

  • 現在,小型貨車已連結到一個物件。

引用變數與賦值

  • 物件引用變數在賦值運算中的行為與基本型別變數不同。

  • 在原始型別變數中,左邊的變數接收右邊變數值的副本。

  • 在物件引用變數中,左邊的變數與右邊的變數引用同一個物件。

  • 這可能會導致意外結果。

  • 例子:
    車輛 car1 = new Vehicle();
    車輛car2 = car1;

  • car1 和 car2 引用同一個物件。

  • 透過 car1 或 car2 所做的更改會影響相同物件。

  • 什麼時候:
    car1.mpg = 26;
    System.out.println(car1.mpg);
    System.out.println(car2.mpg);

  • 會有26號出口。

  • car1 和 car2 引用同一對象,但不以其他方式連結。

  • 後續 car2 的賦值不會影響 car1。

  • 例子:
    車輛 car1 = new Vehicle();
    車輛car2 = car1;
    車輛 car3 = new Vehicle();
    汽車2 = 汽車3;

  • car2 現在引用與 car3 相同的物件。

  • car1所引用的物件保持不變。

版本聲明 本文轉載於:https://dev.to/devsjavagirls/criacao-de-objetos-2mlj?1如有侵犯,請洽[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3