为什么内部类可以调用没有用final 的局部变量

zpr555 2017-05-17 03:04:02
求问:不是说内部类调用局部变量要用final 吗?为什么我的代码没有用final 也可以运行并没有报错?
代码如下:class Outer
{
int num = 9;
void method()
{
int x = 8;
class Inner
{
void show()
{
System.out.println("show..."+x);
}
}
Inner in = new Inner();
in.show();
}
}

class InnerClassDemo{
public static void main(String[] args) {
new Outer().method();
}
}
...全文
109 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zpr555 2017-05-17
  • 打赏
  • 举报
回复
谢谢
李德胜1995 2017-05-17
  • 打赏
  • 举报
回复
jdk1.8省略了而已。。。。意思一样,不能重新赋值,否则报错Local variable x defined in an enclosing scope must be final or effectively fina

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧