方法本地内部类 - 可以访问非最终局部变量

时间:2017-10-12 09:17:39

标签: class methods local

通常,方法本地内部类只能访问最终的局部变量。但在我的情况下,我仍然可以从方法本地内部类访问非最终局部变量。 我已经在Eclipse和Netbeans IDE中进行了测试。你能给我一些想法吗? 提前谢谢。

enter image description here

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();
}
}

1 个答案:

答案 0 :(得分:1)

  

从Java SE 8开始,如果您在方法中声明了本地类,则它将   可以访问该方法的参数。