物件與物件引用的區別
物件與物件引用的區別
直接舉例子吧,從例子中更容易理解物件與物件引用的區別
先建立一個Demo類,用於後面的分析。
public class Demo{
//預設構造方法
public Demo{
}
}
接下來,我們用Demo類來建立一個物件。
Demo demo=new Demo();
這一條語句,其實包括了四個動作:
1)右邊的“new Demo”,是以Demo類為模板,在堆空間裡建立一個Demo物件。
2)末尾的()意味著,在物件建立後,立即呼叫Demo類的建構函式,對剛生成的物件進行初始化。
3)左邊的“Demo demo”建立了一個Demo類引用變數,它存放在棧空間中。也就是用來指向Demo物件的物件引用。
4)“=”操作符使物件引用指向剛建立的那個Demo物件。
總結:
a)從物件引用出發:
一個物件引用可以指向一個物件
Demo demo;//一個物件引用
demo=new Demo();//一個物件引用指向一個物件
也可以不指向物件。
Demo demo;//建立物件引用,但是沒有指向物件
b)從物件出發:
一個物件可以被一個物件引用引用
Demo demo;//建立物件引用
demo=new Demo();//建立物件,並被一個物件引用指向
也可以被多個物件引用同時引用。
Demo demo1,demo2,demo3;//建立多個物件引用
demo1=new Demo();
demo2=demo1;
demo3=demo2;//建立物件,並被多個物件引用指向
相關文章
- 在JavaScript中,DOM物件與jQuery物件的區別與轉換JavaScript物件jQuery
- json 物件與json 字串的區別。JSON物件字串
- 物件的引用計數與dealloc物件
- 構造器引用和直接用new建立物件區別物件
- Java中類與物件的關係與區別Java物件
- 例項物件和函式物件的區別物件函式
- GC判定與回收演算法+java物件引用型別GC演算法Java物件型別
- php中物件是引用型別嗎?PHP物件型別
- java中的引用物件Java物件
- php之普通變數賦值、物件賦值、引用賦值的區別PHP變數賦值物件
- js選擇物件和jq選擇物件的區別JS物件
- JavaScript客戶端document物件和window物件的區別JavaScript客戶端物件
- 物件陣列與一般陣列的區別物件陣列
- 【C++系列】指標物件和物件指標的區別C++指標物件
- 值型別與引用型別的區別型別
- JavaScript 基礎 (二) - 引用資料型別 (物件)JavaScript資料型別物件
- 面試官:Java物件引用都有哪些型別?面試Java物件型別
- 物件和函式的區別就是物件可以儲存狀態物件函式
- PHP中物件的引用傳遞PHP物件
- Python中可變物件和不可變物件的區別?Python基礎Python物件
- 物件導向重寫(override)與過載(overload)區別物件IDE
- c++物件建立帶括號與無括號的區別C++物件
- PHP 設計模式答疑-物件池與依賴注入的區別PHP設計模式物件依賴注入
- VO(檢視模型) 與 DTO(資料傳輸物件)的區別模型物件
- 迭代器與可迭代物件的區別,以及iter()函式的使用。物件函式
- 《JavaScript物件導向精要》之一:基本型別和引用型別JavaScript物件型別
- Java基礎11 物件引用Java物件
- PHP物件導向之&引用PHP物件
- Java集合不能存放基本資料型別,只存放物件的引用Java資料型別物件
- JavaScript物件與建立物件的方式JavaScript物件
- 跟你深入剖析可迭代物件和迭代器的區別與聯絡物件
- 組合模式-統一的處理個別物件與組合物件模式物件
- python中的引用傳遞,可變物件,不可變物件,list注意點Python物件
- PHP 物件導向 (四)類物件賦值為引用傳遞PHP物件賦值
- 物件導向和麵向過程的區別物件
- php物件導向知識 this,self,parent的區別PHP物件
- vue物件拷貝,解決由於引用賦值修改原物件的方法Vue物件賦值
- Java synchronized物件級別與類級別的同步鎖Javasynchronized物件