现在我正在为AP计算机科学执业,对吧? (顺便说一下,我正在自学,所以学习上的差距可能很大,请加以警告)
以下是问题将讨论的代码:
public void changer(String x, int y) {
x = x + "peace";
y = y * 2 ;
}
public void test() {
String s = "world";
int n = 6;
changer(s,n);
/*End of method*/
}
现在,在“方法结束”点上,字符串应该等于“worldpeace”,并且int应该等于12.但在答案中,它表示s仍然是“世界”而n仍然是6。 / p>
现在,显然这意味着变量没有改变,至少到那时为止。有人可以解释过去吗?变量什么时候会改变?老实说,我很困惑为什么s不是“世界和平”而n不是12。
答案 0 :(得分:0)
Java不是通过引用传递的。它是通过价值。它只是在调用方法时复制变量。它就像方法中的局部变量一样。当方法结束时,变量中的那些值将丢失。