黑马程序员技术交流社区
标题:
从内部类中访问局部变量
[打印本页]
作者:
310415798
时间:
2015-5-6 08:26
标题:
从内部类中访问局部变量
为什么从内部类中访问局部变量,需要申明为最终类型?
作者:
突然世界晴
时间:
2015-5-6 08:46
是的啊,当然现在高版本的默认修饰final,但是建议自己输入
作者:
想要那片海
时间:
2015-5-6 08:48
本帖最后由 想要那片海 于 2015-5-6 08:58 编辑
是要访问外部类的局部变量吗?当内部类中的方法要访问该方法内的局部变量时,不需要有声明;当访问内部类的成员变量时通过加this进行声明,this在这里就代表了在调用时的本类对象,而要调用外部类的成员变量时,就需要加类名再加this进行声明,最简单的讲:最先找到的是自己有的,在外部找就需要加上外层的标志,这是一道基础测试题,不知道我这么说你能看明白吗,我也是初学者
class A
{
int x=1;//外部类的成员变量
class B
{
int x=2;//内部类的成员变量
void func()
{
int x=3;//内部类的局部变量
System.out.println("内部类的局部变量"+x);
System.out.println("内部类的成员变量"+this.x);
System.out.println("外部类的成员变量"+A.this.x);
}
}
}
复制代码
作者:
想要那片海
时间:
2015-5-6 09:02
想要那片海 发表于 2015-5-6 08:48
是要访问外部类的局部变量吗?当内部类中的方法要访问该方法内的局部变量时,不需要有声明;当访问内部类的 ...
额。。好像我跑题了,其实就是能够符合逻辑的直接使用外部变量,而且保证使用的一直是那个变量,而不是被自定义赋值的
作者:
310415798
时间:
2015-5-6 09:03
想要那片海 发表于 2015-5-6 08:48
是要访问外部类的局部变量吗?当内部类中的方法要访问该方法内的局部变量时,不需要有声明;当访问内部类的 ...
明白,但我想知道更深层的原因
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2