静态变量值

大卫·W

我刚刚开始学习Java,并且对正在查看的一些练习代码有疑问。本质上,我无法理解为什么在这种情况下我们的输出是7 14而不是1414。代码如下:

class Test {
 static int s;
 public static void main (String [] args)
 {
     Test p = new Test();
     p.start();
     System.out.println(s);
 }

 void start()
 {
     int x = 7;
     twice(x);
     System.out.print (x + " ");

 }

 void twice (int x)
 {
     x = x* 2;
     s = x;
 }
}
达伍德·伊本·卡里姆(Dawood ibn Kareem)

每次编写时int x,都会得到一个新变量。因此,当您int x = 7;start方法内部编写代码时,您得到了一个变量然后,当您(int x)twice方法顶部编写代码时,便得到了第二个变量它们具有相同的名称这一事实无关紧要-这是两个不同的变量。

现在,当您twice(x)start方法内部编写代码时,它将值7从第一个x变量复制到第二个x变量。之后,您对第二个所做的任何更改x都不会影响第一个。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章