JVM运行时如何保持向后兼容性?

时间:2013-01-09 11:07:49

标签: jvm backwards-compatibility

我有一个简单的Java类,它使用enum reserved关键字作为变量名。我能够在Java 1.4中编译此代码并在Java 1.6中执行它:

public class Main {

    public static void main(String[] args) {
        String enum = "ENUM String";
        System.out.println(enum);
    }

}

但是,Java 1.6编译器不会编译此代码,因为enum是保留关键字。为什么Java 1.6运行时仍然执行此代码?

1 个答案:

答案 0 :(得分:4)

因为在编译源代码时,它会转换为Java字节码。因此,编译后字符串的名称无关紧要。