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

© MarsBong 中级黑马   /  2016-9-10 23:45  /  547 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为什么匿名内部类中的变量必须是final修饰的?最好说下内存原理

2 个回复

倒序浏览
大神你这是疯狂的补充啊
回复 使用道具 举报
内部类里面使用外部类的局部变量时,其实就是内部类的对象在使用它,内部类对象生命周期中都可能调用它,而内部类试图访问外部方法中的局部变量时,外部方法的局部变量很可能已经不存在了,那么就得延续其生命,拷贝到内部类中,而拷贝会带来不一致性,从而需要使用final声明保证一致性。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马