为什么最终变量不是常量Java?

时间:2016-05-17 20:19:21

标签: java constants final

我知道变量声明如下:

public class Example {
    public static final int MY_CONSTANT = 10;

}

被认为是Java常量。我真的不明白为什么只宣称​​最终的变量不能算作常数?

1 个答案:

答案 0 :(得分:0)

最终但不是静态的变量对于一个对象具有常量值,这意味着它只能由该对象的构造函数修改。但对于不同的对象,变量仍然可以具有不同的值。这就是严格意义上它不是常数的原因。

另一个原因是您不必创建对象来访问静态变量。为什么要创建一个对象才能访问常量?