假设您有两个文件:
Foo.java:public class Foo{ public static final int SOMETHING = 1;}Bar.java:public class Bar{ public static void main(String[] args) { System.out.println(Foo.SOMETHING); }}都编译它们,运行
java Bar,它将打印出1。
现在将Foo.java更改
SOMETHING为2,然后重新编译 Foo.java 。重新运行
java Bar,它将 仍然
打印1。该常数值将被复制到使用该常数的每个代码段中,而不是
Foo在执行时从中询问该值。
实际上, 如果 您在任何变化时重新编译所有内容,这不是问题。



