我有以下编译代码:
final static String test = "A";
static final String test2 = "B";
一切都很好。我的问题是,这两者之间有什么区别?
答案 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)
没有区别。您放置关键字的顺序无关紧要。