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

© gsa798780633 中级黑马   /  2016-4-12 20:12  /  360 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为什么匿名内部类只能引用final类型的局部变量啊

1 个回复

倒序浏览
因为当调用这个方法时,局部变量如果没有用final修饰,他的生命周期和方法的生命周期是一样的,
当方法弹栈,这个局部变量也会消失,那么如果局部内部类对象还没有马上消失想用这个局部变量,
就没有了,如果用final修饰会在类加载的时候进入常量池,即使方法弹栈,常量池的常量还在,也可
以继续使用
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马