变量在什么时候发生变化?

时间:2016-08-28 16:58:03

标签: java

现在我正在为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。

1 个答案:

答案 0 :(得分:0)

Java不是通过引用传递的。它是通过价值。它只是在调用方法时复制变量。它就像方法中的局部变量一样。当方法结束时,变量中的那些值将丢失。