课程
/后端开发
/Java
/Java入门第二季 升级版
成员变量跟局部变量指的都不是一个对象,也就是说他们虽然变量名字相同,但是指的不是同一个东西。这应该是堆栈的问题吧,何来的优先级呢?我是这么理解的。
2016-07-31
源自:Java入门第二季 升级版 8-5
正在回答
在java中,局部定义的变量能够屏蔽全局范围内的变量。
在局部使用某个变量的时候JVM会优先找和当前使用位置"近"的变量的的定义!
如果在局部定义了和全局变量一样的名字,我们使用的过程中,调用全局变量的话,会使用this关键字辅助。
class A{int i=10;void f(){int i=100; System.out.println(this.i);//全局 10 System.out.println(i);//局部 100}}
举报
课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙
7 回答局部变量能与成员变量重名吗?
2 回答成员变量和局部变量的问题。
1 回答成员变量和局部变量
3 回答局部变量与成员变量重名时,在方法里面如何调用成员变量
3 回答成员变量、局部变量与C中的全局变量、局部变量区别