为了账号安全,请及时绑定邮箱和手机立即绑定

成员变量跟局部变量重名的问题

成员变量跟局部变量指的都不是一个对象,也就是说他们虽然变量名字相同,但是指的不是同一个东西。这应该是堆栈的问题吧,何来的优先级呢?我是这么理解的。

正在回答

1 回答

在java中,局部定义的变量能够屏蔽全局范围内的变量。

在局部使用某个变量的时候JVM会优先找和当前使用位置"近"的变量的的定义!

如果在局部定义了和全局变量一样的名字,我们使用的过程中,调用全局变量的话,会使用this关键字辅助。

class A{
int i=10;
void f(){int i=100;
System.out.println(this.i);//全局 10
System.out.println(i);//局部 100
}
}

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

成员变量跟局部变量重名的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信