java基礎之物件的clone 深拷貝

2021-05-24 15:53:18 字數 461 閱讀 8308

class student implements cloneable

student(string name , int age, teacher t)

public object clone() catch (clonenotsupportedexception e)

o.t = this.t.clone(); //為了避免引用的拷貝,所以在teacher類裡過載了clone()方法。

//然後在學生類裡用成員變數t呼叫teacher裡的clone方法,完成物件的轉殖。

return  o;}}

class teacher implements cloneable

public teacher clone() catch (clonenotsupportedexception e)

return o;}}

public class clone_2

}

JAVA 物件轉殖clone

有時候我們希望轉殖乙個已存在的物件,並對其進行操作,但是不希望改變原物件,這時使用clone技術就非常方便了。但是使用clone,也有一些需要注意的地方,因為clone有淺層轉殖和深層轉殖。還是習慣先直接上 結合 講解。注 如果你希望某個類具有clone功能,該類必須實現介面cloneable,它是...

java 實現物件的clone

物件的 賦值只是傳遞引用,其本質還是指向乙個引用。當改變乙個物件的值時,另乙個也會改變 例如 public class student implements cloneable catch exception e return s public string getname public void ...

Java中的clone和深度clone

複製物件 or 複製引用 person p new person 23,zhang person p1 p system.out.println p system.out.println p1 當person p1 p 執行之後,是建立了乙個新的物件嗎?首先看列印結果 person p new pe...