我有一個關於更改Java中方法中變量值的問題。在方法中更改變量的值,Java
這是我的代碼:
public class Test {
public static void funk(int a, int[] b) {
b[0] = b[0] * 2;
a = b[0] + 5;
}
public static void main(String[] args) {
int bird = 10;
int[] tiger = {7};
Test.funk(bird, tiger);
}
}
方法Test.funk(bird, tiger)
執行後,鳥的價值沒有改變 - 它仍然具有價值10
,即使在funk()
方法我們已經改變了值與a = b[0] + 5;
在另一方面,在陣列的變化元素的值,因爲我們有說法b[0] = b[0] * 2;
我不明白爲什麼一件事情會改變,另一件事情不會改變?有人可以爲我解釋這一點。
不,它並不能幫助。 Java總是傳遞值。閱讀其他答案中提供的鏈接;你需要明白這一點。 – 2009-01-29 03:29:43