【发布时间】:2011-12-26 22:51:21
【问题描述】:
为什么java常量声明为静态的?
class Foo{
static final int FII = 2 ;
}
在这我明白final的用法了吗?购买为什么它必须是静态的?为什么它应该是类变量,而不是实例变量?
【问题讨论】:
-
您为什么希望多个实例拥有自己的
FII副本? -
我可以声明
final int FII = 2;就好了。 -
@JonLin:可以,但不应该这样做,因为它不会增加价值,只会增加内存使用量。例外是在构造函数调用中初始化常量 - 然后每个实例都可以有它自己的常量值(构造函数运行后的常量)并且可以有一个类似“constructionTime”或类似的值。
标签: java static constants final class-variables