请教java高手下面这个程序中,x是全局变量,虽然函数B修改了x的值,但是并不影响全局变量x的值啊!!!所以System.out.println(c.x)输出的应该是0,怎么结果却是1啊???求详解!!!
public class A {
int x;
void B() {
x++;
}
public static void main(String [] args) {
;
A c=new A();
c.B();
System.out.println(c.x);
}
}
此程序中局部变量x只是在函数B内部修改修改成员变量x的值,离开函数B后,受成员变量的影响,x的值还应该是0啊!!所以输出的结果为0,我这种理解有何不对!!请高手解释一下,谢谢!!!
局部变量不会影响全局变量啊!!!所以输出的x的值为0啊!!!怎么x的值会改变成为1!!!
追答局部变量是会影响全局变量的,饿,为什么不会影响呢,调地址的时候他俩都是指向一个空间,而空间里的只改变的时候,你在调用这个空间地址里的值得时候,不就改变了么?