final static vs static final变量

时间:2013-06-17 19:14:46

标签: java static final

我有以下编译代码:

final static String test = "A";
static final String test2 = "B";

一切都很好。我的问题是,这两者之间有什么区别?

2 个答案:

答案 0 :(得分:12)

The order of those modifiers isn't mandatory, as stated in the Java Specification

  

FieldModifiers:       FieldModifier       FieldModifiers FieldModifier

     

FieldModifier:其中之一       注释公共保护私人       静态最终瞬态易失性

但请注意Java规范引入了最佳实践:

  

如果字段中出现两个或更多(不同的)字段修饰符   声明,它们是习惯性的,尽管不是必需的,它们出现在   与生产中的上述顺序一致的顺序   FieldModifier。

这意味着最正确的解决方案是

static final String test2 = "B";

大多数程序员都尊重这种“习惯”这一事实意味着他们的编码人员可以更快,更轻松地解析和阅读代码。

答案 1 :(得分:2)

没有区别。您放置关键字的顺序无关紧要。