繁体   English   中英

Java内部本地类

[英]Inner Local Classes in Java

public class Main {
    public static void main(String[] args) {
        int b=1;
        final int c=2; 
        String s1[] = new String[]{"A","B","C"};

        class InnerMain{                                    
            int a=5;

            public void show(){ 
                System.out.println(s1[0]);
                System.out.println("A:" + a);
                System.out.println("B:" + b);
                System.out.println("C:" + c);
            }
        }

        InnerMain test =new InnerMain();
        test.show();
    }
}

我研究过的书说,本地类只能使用final变量和该本地类所在方法的引用。在此示例中,我使用了不是final或引用的变量b 它运行了,我没有得到任何错误。 怎么样? 有人可以解释这种行为吗?

您的书可能已过时。 从Java 8开始,您可以有效地使用final局部变量。

如果您尝试在本地类定义之前,之后或之中的任何地方更改b ,则会出现编译器错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM