我有一个关于更改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