-4

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

最后,编译时常量需要是最终的,但不一定是静态的,这对吗?

4

1 回答 1

0

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

public static final String s = "abc";

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

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

于 2013-06-23T08:45:13.430 回答