2016-08-28 77 views
0

现在我正在为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*/ 
    } 

,在点“结束方法“字符串应该等于”世界和平“和int n应该等于12.但在答案中,它说s仍然是”世界“,n仍然是6.

现在,显然这意味着变量没有改变,至少在那之前。有人可以解释过去吗?变量什么时候会改变?我真的很困惑,为什么s不是“世界和平”,n不是12.

+4

1)Java是通过价值。 2)字符串是不可变的。 –

回答

0

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

相关问题