首页 > 编程知识 正文

为什么要引用局部内部类(局部内部类和成员内部类)

时间:2023-05-05 18:39:04 阅读:73583 作者:4295

我们知道java的内部类

局部类要访问局部变量,必须将局部变量声明为final类型。

具体可以看到java内部类的介绍

也就是说

公共类演示{ publicstaticvoidmain (字符串[ ] args ) { doSomething ); } private static void doSomething () { final String str1='Hello '; String str2='World!' ; //方法中的本地内部类class Test { public void out () system.out.println ) str1); system.out.println(str2; } } Test test=new Test (; test.out (; }此方法已运行到system.out.println(str2); 时过境迁

编译会抛出异常,因为str2未声明为final。 cannotrefertothenon-finallocalvariablestr2definedinanenclosingscope

但是,我发现现在成功了

觉得不可思议,查了资料

JDK1.8之后匿名内部类访问方法中的局部变量不用加final修饰

具体而言,https://docs.Oracle.com/Java se/tutorial/Java oo/local classes.html # accessing-members-of-an-enensing

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。