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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

2 个回复

倒序浏览
新人表示疑问,方法中还能有类吗???
回复 使用道具 举报
因为局部变量会随着方法的弹栈而释放其内容,而方法内部类对象创建后就在堆内存中,不会随着方法弹栈消失,
那么如果方法弹栈了,要用方法内部类的对象去调用局部变量肯定是不行的,所以方法内部类只能访问被final修饰的局部变量,因为局部变量被final修饰的话就会存在常量池中。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马