是private static final
还是private final static
。我知道它们都有效,但想知道规范声明它的顺序。
答案 0 :(得分:10)
访问修饰符的顺序无关紧要。他们只需在场。
对于方法修饰符,Java language spec注释,它是它是习惯的, 虽然不是必需的,但它们的显示顺序与显示的顺序一致 以上是MethodModifier的制作。,即:
(Annotation) public protected private abstract static final synchronized native strictfp
<强>加成强>
字段修饰符的推荐顺序(自JLS 8.3.1起):
(Annotation) public protected private static final transient volatile
类修饰符的推荐顺序(从JLS 8.1.1开始):
(Annotation) public protected private abstract static final strictfp
(注释)不是修饰符,它是任何注释的占位符。注释应放在任何其他修饰符之前。
答案 1 :(得分:1)
没有区别,只有风格之一。
我更喜欢private static final
答案 2 :(得分:1)
本案例中的规范是§ 8.3 of the JLS和§ 8.3.1
FieldDeclaration: FieldModifiersopt Type VariableDeclarators ; FieldModifiers: FieldModifier FieldModifiers FieldModifier FieldModifier: one of Annotation public protected private static final transient volatile
正如您所看到的,字段修饰符的顺序可以是您想要的任何内容。你甚至可以在那里的任何地方混合注释。
答案 3 :(得分:1)
我最常见的订单是static final
而不是final static
。
如果它不是您的代码约定的一部分,那么它是个人偏好。但我建议总是写static final
,除非你被迫以另一种方式写它。
答案 4 :(得分:0)
我不确定规范在这个问题上说了什么(如果?),但是任何一个编译。因此,它归结为编码员的偏好!
答案 5 :(得分:0)
我无法在the spec中的任何一个方向找到任何偏好。