Java语言规范(而不是Java虚拟机规范)中提到了修饰符的
习惯
用法顺序,例如,对于类修饰符,您将找到以下定义(摘录):
ClassModifiers: ClassModifier ClassModifiers ClassModifierClassModifier: one of Annotation public protected private abstract static final strictfp[....]
如果两个或更多个(不同的)类修饰符出现在类声明中,则习惯上尽管不是必需的,但它们的出现顺序与上面在ClassModifier生产中显示的顺序一致。(该段落底部的小文本!)
您可以在指定修饰符使用的其他几个地方找到该句子,例如在此处用于字段修饰符。
更新 :我将“指定/推荐”替换为“常规”,以使其成为可以接受的答案。如果您阅读注释,请考虑到这一点;-)(感谢@EJP使其清楚)-尽管如此,
我 还是 建议 您使用 习惯 顺序。
Google还建议
使用Java规范中提到的习惯顺序。
public / protected / private abstract static final transient volatile synchronized native strictfp
更新 :OpenJDK社区中的项目有一个新的“
Java样式指南
”倡议。它还建议使用修饰符顺序,还包括Java
8的新默认修饰符。
public / private / protectedabstractstaticfinaltransientvolatile**default**synchronizednativestrictfp



