Java类变量与对象变量问题

img


实际输出结果为15 15 27 15
不太明白最后两个输出结果
第三个输出为什么是Mainclass类变量27,不应该输出一开始的15吗?
add(integar,2),所以第四个integer对象int不该是2吗?为什么是15

我们一行一行来分析main方法中的代码:

  1. a = 15;
  2. integer = 15;
  3. 输出integer(结果为15);
  4. 走第一个MainClass.add(这里实际上是改变a的值,也就是说现在a=25);
  5. 输出integer(结果为15,因为刚刚改变的只是a,并没有改变integer);
  6. 走第二个MainClass.add(此时a=a+2,也就是a=25+2,因此a此时应该等于27);
  7. 输出a(结果为27)
  8. 输出integer(结果为15,因为integer从始至终都没有发生改变)