有關物件引用的淺學習

2021-08-26 12:15:56 字數 752 閱讀 5455

就不講什麼堆啊棧啊什麼的了,首先把基本資料型別和非基本資料型別區分開,這裡叫引用物件把。

@test

public void test03()

public people update(object b,people p)

輸出結果:

1.update---before---p1people

2.update----in------people

3.update---end----p1people

4.this----p2----people

5.-------now-----p1---people

可能會有疑問了,為什麼這樣的輸出結果。因為拿我們自己定義這物件來講,剛開始new乙個物件給了p1,在這裡new的這個物件並不是直接賦給了p1,而是講這個物件的位址作為引用給了p1,打個比喻來講,new的物件是乙個氣球,這個引用就像一根線,連著這個氣球。現在我們呼叫update方法,將這個引用傳過去了,方法內部根據這個引用修改了age的值,就是根據這個引用把對應的物件的age值修改了,這就是3.的值為什麼是18的原因,方法返回的值返回給了p2,這裡的操作其實就是將返回的物件的引用給了p2,也就是說p1之前指的那個物件現在p2也指向它了,現在在修改p2的age,就會根據p2這個引用拿著位址去改對應的物件的age,這也就是5.的p1指的那個物件age也隨著變成19的原因,說到這應該差不多 就能明白物件的引用是怎麼一回事了。

如果是基本資料型別int,string,boolean等等的話不是這樣的。傳遞的就不是引用了。

有關C 引用操作的學習記錄

鑑於本人學完就忘的特殊體質,決定把一些有意義的知識進行簡單的記錄。在本篇中,重點介紹c 關於引用的相關知識。這裡我們綜合對比三種函式引數設定方式,分別為 所用 如下 arrayone.cpp small arrays of integers include using namespace std 值...

資料結構的淺學習

資料結構 鍊錶 1.查詢慢 2.增刪快 鍊錶中的每乙個元素也稱為乙個節點 乙個節點包含了乙個資料來源 儲存陣列 兩個指標域 儲存位址 自己的位址 資料 下乙個節點的位址 單向鍊錶 鍊錶中只有一條鍊子,不能保證順序 雙向鍊錶 鍊錶中只有二條鍊子,保證順序 二叉樹 分支不能超過兩個 排序樹 查詢樹 在二...

有關軟引用,弱引用,虛引用的問題

public class bitmapcache private bitmapcache 取得快取器例項 public static bitmapcache getinstance return cache 以軟引用的方式對乙個bitmap物件的例項進行引用並儲存該引用 private void a...