为什么接口变量在Java中隐式静态?

时间:2013-10-13 15:21:52

标签: java interface static final

我看过帖子上写的内容如下: “java常量是一个静态最终变量”

我真的不明白为什么会这样。为什么不把它标记为最终版?

为什么我们需要添加“静态”修饰符?如果它是接口内的最后一个字段,那么它已经是不可变的,并且在所有实现类之间共享。

如果有人能为我解决这个问题,我会很感激。

1 个答案:

答案 0 :(得分:2)

由于接口存储常量,因此变量被声明为public static final 现在,它非常直观:

  1. 常数值不会改变,因此是最终值。
  2. 实现接口的所有类必须只有一个常量值的值。因此static
  3. public因为每个人都必须获得对常量值的访问权。
  4. 以下是specification所说的内容:

      

    接口主体中的每个字段声明都是隐式的   公共,静态和最终。允许冗余指定任何   或者所有这些领域的修饰语。