以下两种语法顺序在 Java 中有效。为什么两者都被允许并且有首选的语法顺序?
private final static String consultantType = "consultantType";
private static final String consultantId = "consultantId";
如果两个或多个(不同的)字段修饰符出现在字段声明中,尽管不是必需的,但习惯上它们的出现顺序与上面在 FieldModifier 的产生式中显示的顺序一致。
的产生FieldModifier
是:
FieldModifier:其中之一 注释公共保护私有 静态最终瞬态易失
因此,在您的情况下,习惯上使用private static final
,尽管任何订单都是有效的。
任何顺序都是允许的,因为限制顺序没有任何价值,那么为什么还要把记住虚假顺序的负担强加给程序员呢?
无论您使用哪种顺序,这绝对没有区别。选择你喜欢的那个,坚持使用它,然后继续解决一个更有趣的问题。
对于它的价值,我认为“私有静态最终”可能更常见。
任何订单都是有效的。因此,Checkstyle在遇到以下顺序之外的修饰符时会标有警告。见ModifierOrder
支票。
public
protected
private
abstract
static
final
transient
volatile
synchronized
native
strictfp