有final static int x = 1;
和static final int x=1
之间有什么区别?换句话说,在这两种情况下,java编译器是否会以完全相同的方式表示x
?最终静态int和静态最终int之间的区别?
编辑:是否有任何形式的优先级或优先级的编译器对于静态和决赛?
有final static int x = 1;
和static final int x=1
之间有什么区别?换句话说,在这两种情况下,java编译器是否会以完全相同的方式表示x
?最终静态int和静态最终int之间的区别?
编辑:是否有任何形式的优先级或优先级的编译器对于静态和决赛?
没有区别,编译器将代表他们以同样的方式。
这仅仅是个人喜好,我个人使用static final
,这就是我一般看惯其他开发人员。
有一个[官方风格指南](http://stackoverflow.com/a/7050276/2071828)说'静态final'是方式去。 – 2013-03-14 12:19:26
Java编译器代表在两种情况下
无差异完全相同Way X受。我更喜欢使用final static int
没有语义差别。从JLS(§8.3.1 Field Modifiers):
FieldModifier: one of Annotation public protected private static final transient volatile
如果两个或多个(不同)字段改性剂出现在字段声明,习惯上,虽然不是必需的,它们出现的顺序与所示一致以上在FieldModifier的生产中。
因此,优选的形式是
static final int x=1;
这是从Java语言规范§8.3.1:
FieldModifier: one of Annotation public protected private static final transient volatile
如果两个或多个(不同)字段改性剂出现在现场 声明,这是习惯,虽然没有要求,它们出现在 的顺序与上面在 FieldModifier的生产中显示的顺序一致。
所以在你的情况下两者没有区别。只有static final
更习惯。
在第一个''final'之前'静态';) – nattyddubbs 2013-03-14 12:18:51