为什么我们需要Java中的编译时常量?

时间:2013-06-23 08:25:34

标签: java

为什么我们需要它们,即使用它们有什么好处?

最后,编译时常量是否必须是最终的,但不一定是静态的?

1 个答案:

答案 0 :(得分:0)

编译时常量的值仅在编译时决定。考虑一下这个

public static final String s = "abc";

这里,变量s指的是一个字符串对象,它是一个编译时常量,这将在类加载时在内存中创建。在字符串对象的情况下,常量池中只会创建一个字符串abc,因此每当有多个字符串常量的值为abc时,它们就会引用相同的abc常量池内存中的对象。

这样做的好处是只需要创建一个可由多个引用变量引用的对象。