本文目錄一覽:
java如何實現對象的克隆
可以重載clone方法克隆對象
首先、該類要實現Cloneable的接口,不然執行clone方法的時候會拋出CloneNotSupportedException異常
然後、就在該類重載clone方法,自己加上克隆的邏輯,本人小白,手敲的代碼
public class Book implement Cloneable{
private String name;
public Book(String name){
this.name=name;
}
@Override
public Book clone() throws CloneNotSupportedException {
return new Book(this.name);
}
}
java中的淺克隆和深克隆是什麼
克隆是指克隆對象,在堆空間複製一塊內存,是完全的兩個對象,不是指針指向!淺克隆是指克隆一個對象,而該對象的屬性只是基本數據類型,只克隆出該對象!深度克隆是指克隆的目標裡面還有引用類型,引用類型里還有引用類型,同時把引用類型克隆出來叫深度克隆!常用的方法有兩種,第一,需克隆的對象實現cloneable接口;第二,使用commons包提供的克隆方法。這兩種方法都能實現深度克隆!
java中克隆一個對象對象的屬性改變另一個改變嗎
不改變。java中克隆一個對象對象的屬性改變另一個不改變。屬於值傳遞,改變一個對象的值,另一個不會受影響。
關於java克隆對象
–在使用clone方法時,對於每一個類,都需要做如下判斷:
1–默認的clone方法是否能滿足要求
2–默認的clone方法是否能通過調用可變子對象的clone方法修補
3–是否不應該使用clone
—-如選擇1和2,就必須實現Cloneable接口,使用public重定義clone方法
意思就是,你如果想用clone方法,首先要考慮Object的clone能不能滿足你的需求,如果可以,那好,直接調用,反之,你就得必須在需要使用clone方法的類中實現Cloneable接口,自己寫一個Clone規則。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/283482.html