Java中的修饰符关键字顺序

时间:2012-04-24 13:38:24

标签: java syntax coding-style access-modifiers

每当我用Java编写方法时,关键字多于public void,每次我用另一种方式编写它。有时“static public void”有时会“public static void”等。

这些关键字的最佳订单(最佳做法)是什么?

[abstract/static] [final] [synchronized] [public/private/protected] [result_type] ???

8 个答案:

答案 0 :(得分:52)

理论上,如果你说公共静态最终或最终静态公共无关紧要,但如果按照惯例,其他人就能更容易地阅读你的代码。这是首选顺序:

  

[公共|受保护私人]

     

静态

     

摘要

     

同步

     

[瞬态|不稳定]

     

最终

     

天然

     

strictfp

     

[int |长|字符串|班级|枚举|界面等]

答案 1 :(得分:36)

Checkstyle(实现了Java语言规范部分的建议,8.1.18.3.18.4.3)说:

  1. 公共
  2. 保护
  3. 私有
  4. 抽象
  5. 默认
  6. 静态
  7. 最终
  8. 瞬态
  9. 易失性
  10. 同步
  11. 天然
  12. strictfp

答案 2 :(得分:3)

“最佳”将遵循6.2中的Java Coding Style Guide(方法声明):

public static final synchronized long methodName()
    throws ArithmeticException, InterruptedException {
    static int count;
}

答案 3 :(得分:3)

Java Language Specification中提到了修饰符的自定义使用顺序(所以不需要有自己的意见;-))例如对于method modifiers,您将找到以下定义(摘录):

MethodModifiers:
    MethodModifier
    MethodModifiers MethodModifier

MethodModifier: one of
    Annotation public protected private abstract
    static final synchronized native strictfp
     

如果方法声明中出现两个或更多(不同的)方法修饰符,则通常(尽管不是必需的)它们按照与上面在MethodModifier的制作中显示的顺序一致的顺序出现。

您可以在指定修饰符用法的其他几个地方找到此句子,例如: here用于字段修饰符。

(这主要是从我的另一个答案here复制而来)。

答案 4 :(得分:2)

最佳顺序是代码的其余部分使用的顺序。

答案 5 :(得分:1)

像这样:

public static final synchronized void calculate()

答案 6 :(得分:0)

这是我个人的选择

public static final void method() { }
public void method() { }
public abstract void method() { }

这似乎与java文档

一致

答案 7 :(得分:0)

是的,有标准订购。

如果您使用IDE,则可以将其设置为为您格式化代码,即在首选项中的Eclipse中 - > Java - >编辑 - >保存操作您可以选中复选框"格式化源代码"

然后你不用再担心了。无论何时保存文件,如果整个项目都使用它,它将自动完成,然后整个项目的代码格式相同。