區別分析:
(推薦學習:java入門程式)
淺複製
#被複製物件的所有變數都含有與原來物件相同的值,而所有其他物件的參考仍然指向原來的物件。
換言之,淺複製僅僅複製所考慮的對象,而不複製它所引用的對象。
深複製
被複製物件的所有變數都含有與原來物件相同的值,除去那些引用其他物件的變數。那些引用其他對象的變數將指向被複製的新對象,而不再是原有的那些被引用的對象。
換言之,深複製把複製的物件所引用的物件都複製了一遍。
(影片教學推薦:java影片教學)
定義如下一個類別:
class Test { public int i; public StringBuffer s; }
下圖展示了對這個類別的物件進行複製時,淺複製與深複製的差異:
#以上是java中深複製與淺複製有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!