我有一個Calle
類String nombre;
和int addr;
。但是,我所做的clone
方法給了我錯誤的值。尋找正確的克隆方法
public class Calle{
String nombre;
int addr;
public Object clone(){
return this;
}
}
Calle c1 = new Calle("a",1);
Calle c2 = c1.clone();
c2.setAddr(3);
System.out.println(c1.addr); // value wrong
爲什麼值錯了?
b/c你實際上並沒有克隆。您需要實際創建一個新對象並將其返回 – greedybuddha
克隆不是一種特殊的方法,就像Java一樣,它就像任何其他方法一樣。你必須編寫它來實際克隆對象,而不僅僅是'返回這個'。 – Patashu