德亞所有,深層複製錯誤
我有以下幾點:
class test {
int x = 6;
int y = 7;
private int getX() {
return x;
}
private int getY() {
return y;
}
public test copy() {
test myTest = new test();
myTest.x = getX();
myTest.y = getY();
return myTest;
}
}
然而,當我再執行:
test a = new test();
test b = a.copy();
b.x = 17;
System.out.println(a.x);
的結果仍是17。然而,不應該深拷貝防止這個?
任何人都可以幫助我嗎?
爲我打印'6',包括原始代碼和修改代碼。 – iamnotmaynard 2013-03-21 22:11:40
當你問「爲什麼我的代碼會執行X?」時,實際上它很難幫助你,事實上它不會執行X. – NPE 2013-03-21 22:16:14