java面試 物件拷貝

2021-09-19 06:52:38 字數 302 閱讀 3747

為什麼要使用轉殖?

想對乙個物件進行處理,又想保留原有的資料進行接下來的操作。

如何實現物件轉殖?

1)實現cloneable介面

2)過載object類中的clone()方法,過載時需定義為public

3)在過載方法中,呼叫super.clone()

深拷貝和淺拷貝區別是什麼?

淺轉殖:建立乙個新物件,新物件的屬性和原來物件完全相同,對於非基本型別屬性,仍指向原有屬性所指向的物件的記憶體位址。

深轉殖:建立乙個新物件,屬性中引用的其他物件也會被轉殖,不再指向原有物件位址。

Java物件拷貝

public class person implements serializable public person string name,int age,gregoriancalendar birthday public string getname public void setname str...

Java物件的淺拷貝和深拷貝

首先介紹變數拷貝,變數拷貝時,原始變數和拷貝的新變數引用同乙個物件。例如 employee e1 new employee employee e2 e1 如果要建立乙個物件的新拷貝,其狀態和原物件一樣,但是以後各自狀態各自維護,就要使用到clone方法了,當然你也可以通過其他方法實現。clone是o...

208面試題 物件拷貝

61.為什麼要使用轉殖?想對乙個物件進行處理,又想保留原有的資料進行接下來的操作,就需要轉殖了。轉殖分淺轉殖和深轉殖,淺轉殖後的物件中非基本物件和原物件指向同一塊記憶體,因此對這些非基本物件的修改會同時更改轉殖前後的物件。深轉殖可以實現完全的轉殖,可以用反射的方式或序列化的方式實現。62.如何實現物...