A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

方法中的内部类能不能访问方法中的局部变量?为什么

4 个回复

倒序浏览
可以访问,但前提局部变量修饰须是private 的或者是final的
回复 使用道具 举报
方法中的内部类不能访问方法中的局部变量,可以访问方法中用final修饰的局部变量
在方法中定义内部类是为了控制内部类的可见性,虽然内部类写在方法中,但它还是一个独立的类,
有自己的变量和方法, 编译后跟外部类一样会有对应的class文件。而且方法的属性与内部类的
生命周期不同.方法执行完毕后,方法内的属性也会随之被销毁。如果让内部类使用被销毁的属性并
不合理. 解决方法就是加上final关键字
回复 使用道具 举报
当然可以{:soso_e113:}建议你看一下《think in java》这本书,打一下基础
回复 使用道具 举报
内部类定义在局部时可以直接访问外部类中的成员,
但是不可以访问它所在的局部中的变量。只能访问被final修饰的局部变量;
局部变量不可以用权限修饰符修饰。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马