0

在代码中

public class Test {
    public static final int var1;
    public static int var2;

    static {
        Test.var2 = 3;
        Test.var1 = Test.var2;
    }

}

javac 说

Test.java:8: error: cannot assign a value to final variable var1

但是如果我删除“测试”。从作业中的“Test.var1”开始,它可以毫无怨言地编译。为什么 javac 会这样?

4

0 回答 0