爲什麼沒有這種改變初始對象:Java引用類型的參數
public class Foo
{
Bar item = new Item(5);
public changeBar(Bar test){
test = new Item(4);
}
public run(){
changeBar(item);
}
}
在這種情況下item
沒有得到改變。這怎麼可能?我的意思是,你在方法中傳遞參數作爲參數,所以我會說分配一個新的值,意味着初始item
也將被改變。
有人可以向我解釋這是如何工作的。
=======================================
然而,我問題是以下幾點:
以下確實工作正確嗎?
public changeBar2(Bar test){
test.parameter = "newValue";
}
我看不出有什麼不同。
好的,謝謝,我明白了。但是,我在問題中增加了第二部分。我想我現在真的明白了,但是你們能否在我的兩個例子之間解釋我的不同? – 2011-03-20 19:04:18