在之前的版本中内部类访问局部变量(指qq)必须添加final符修饰,但在jdk1.8中不用添加final修饰符即可通过编译。
这实际上是因为该版本的jdk中帮我们隐式地添加了final 修饰符,可在方法中添加qq = new QQ()代码(使引用变量指向一个新的对象)验证,这时编译器就会报错。
本文探讨了JDK 1.8中关于内部类访问局部变量的新特性,不再强制要求局部变量必须为final。通过示例代码解释了这一变化的原因,并展示了如何触发编译错误。
在之前的版本中内部类访问局部变量(指qq)必须添加final符修饰,但在jdk1.8中不用添加final修饰符即可通过编译。
这实际上是因为该版本的jdk中帮我们隐式地添加了final 修饰符,可在方法中添加qq = new QQ()代码(使引用变量指向一个新的对象)验证,这时编译器就会报错。
1589

被折叠的 条评论
为什么被折叠?