通常,方法本地内部类只能访问最终的局部变量。但在我的情况下,我仍然可以从方法本地内部类访问非最终局部变量。 我已经在Eclipse和Netbeans IDE中进行了测试。你能给我一些想法吗? 提前谢谢。
package test;
public class HelloWorld {
void display() {
int x = 24;
int a = 21;//local variable - *not final*;
class Local {//method local inner class
void msg() {
System.out.println(a);
}
}
Local l = new Local();
l.msg();
}
public static void main(String args[]) {
HelloWorld obj = new HelloWorld();
obj.display();
}
}
答案 0 :(得分:1)
从Java SE 8开始,如果您在方法中声明了本地类,则它将 可以访问该方法的参数。