什么是Java修饰符的合理顺序?
更新
我已将措辞从建议改为合理,以便冷静讨论订单是否被推荐.
FrV*_*aBe 116
Java语言规范(而不是Java虚拟机规范)中提到了修饰符的常规使用顺序,例如对于类修饰符,您将找到以下定义(提取):
Run Code Online (Sandbox Code Playgroud)ClassModifiers: ClassModifier ClassModifiers ClassModifier ClassModifier: one of Annotation public protected private abstract static final strictfp
[....]
如果在类声明中出现两个或更多(不同的)类修饰符,则通常(尽管不是必需的)它们按照与上面在ClassModifier的制作中所示的顺序一致的顺序出现.(段落底部的小文字!)
您将在指定修饰符用法的其他几个地方找到此句子,例如此处用于字段修饰符.
更新:我将"指定/推荐"替换为"惯用",以使其成为可接受的答案.如果你读的意见考虑到这一点;-)(感谢@EJP表明这一点) -不过我会建议使用习惯的顺序.
public / protected / private
abstract
static
final
transient
volatile
synchronized
native
strictfp
Run Code Online (Sandbox Code Playgroud)
更新:OpenJDK社区的项目有一个新的" Java风格指南 "计划.它还建议使用修饰符顺序,还包括Java 8的新默认修饰符.
public / private / protected
abstract
static
final
transient
volatile
**default**
synchronized
native
strictfp
Run Code Online (Sandbox Code Playgroud)
Mic*_*ann 28
根据Java虚拟机规范表4.4使用订单是合理的
基于它们的 int 值。
归档时间: |
|
查看次数: |
56138 次 |
最近记录: |