我有以下编译代码:
final static String test = "A";
static final String test2 = "B";
一切都编译得很好。我的问题是,这两者有什么区别?
FieldModifiers:FieldModifier FieldModifiers FieldModifier
FieldModifier:Annotation public protected private static final transient volatile 之一
但请注意,Java 规范引入了一个最佳实践:
如果两个或多个(不同的)字段修饰符出现在字段声明中,尽管不是必需的,但习惯上它们的出现顺序与上面在 FieldModifier 的产生式中显示的顺序一致。
这意味着最正确的解决方案是
static final String test2 = "B";
大多数编码人员尊重这种“习惯”这一事实意味着他们的编码人员可以更快、更轻松地解析和阅读代码。
没有区别。您输入关键字的顺序无关紧要。