物件是如何建立的
行 Vehicle minivan = new Vehicle();宣告一個 Vehicle 類型的物件。
聲明做了兩件事:
聲明一個名為 Vehicle 類別的小型貨車的變數。
建立物件的實體副本,並使用 new 運算子為小型貨車分配對其的參考。
new 運算子為物件動態分配記憶體並傳回對該物件的參考。
引用或多或少就是new分配的記憶體中物件的位址。
然後將引用儲存在變數中。
在Java中,一個類別的所有物件都必須動態分配。
指令的兩個步驟可以重寫以單獨顯示每個步驟。
車輛小型貨車; // 聲明對該物件的引用。
小型貨車=新車輛(); // 分配一個 Vehicle 物件。
第一行聲明 minivan 作為對 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所引用的物件保持不變。
以上是物件創建的詳細內容。更多資訊請關注PHP中文網其他相關文章!