java 中当局部变量和成员变量的变量名相同时,是以那个变量为主???

如题所述

2楼说得不对,应该是局部变量, 有一个原则叫做就近原则,只要你能访问到,哪个声明的地方离你近就使用的哪个, 如果非要访问成员变量, 请用this点那个变量
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-18
以局部变量为为主。。。用this 引用成员变量赋值。。。

class A {
int a=10;

void cunt (int a)
{
this.a=a;
System.out.println(this.a);
}

}
class Test
{
public static void main(String [] args)
{
A a=new A();
a.cunt(30);

}

}追问

System.out.println(this.a);

把这里的this.a换成a呢?结果会是什么呢?

追答

结果也一样哦。 我 只是让你更好的理解下输出的是哪个。。。
因为你的形参赋给了 成员变量了。。。

追问

那如果将this.a=a换成a=a;,在输出System.out.println(this.a);结果是什么呢?

本回答被网友采纳
第2个回答  2012-07-18
以局部变量为主,但是当要访问同名的成员变量时需使用this关键字
第3个回答  2012-07-18
局部变量会覆盖成员变量,所所以有了this来调用成员变量、
第4个回答  2012-07-18
在方法中没有明确指定.就是调用成员变量,否则局部变量
相似回答