物件是如何建立的
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 所引用的物件保持不變。
以上是物件創建的詳細內容。更多資訊請關注PHP中文網其他相關文章!