Java 静态公共和公共静态,为什么同样的事情可以用两种不同的风格来完成?
两者都很好。Java 静态公共和公共静态,为什么同样的事情可以用两种不同的风格来完成?,java,Java,两者都很好。 为什么同一件事可以用两种不同的方式来做?因为没有理由阻止它 这两个操作符对另一个没有任何优先级或效果,您可以将所有关键字按任何顺序放在变量(例如volatile)之前。这就是语言的定义方式 一般的风格倾向于先有访问级别,然后是静态的(如果存在),然后是任何其他的。这甚至不是官方的指导方针(据我所知),只是大多数人的做法。因为没有理由阻止它 这两个操作符对另一个没有任何优先级或效果,您可以将所有关键字按任何顺序放在变量(例如volatile)之前。这就是语言的定义方式 一般的风格倾向
为什么同一件事可以用两种不同的方式来做?因为没有理由阻止它 这两个操作符对另一个没有任何优先级或效果,您可以将所有关键字按任何顺序放在变量(例如volatile)之前。这就是语言的定义方式
一般的风格倾向于先有访问级别,然后是静态的(如果存在),然后是任何其他的。这甚至不是官方的指导方针(据我所知),只是大多数人的做法。因为没有理由阻止它 这两个操作符对另一个没有任何优先级或效果,您可以将所有关键字按任何顺序放在变量(例如volatile)之前。这就是语言的定义方式 一般的风格倾向于先有访问级别,然后是静态的(如果存在),然后是任何其他的。这甚至不是官方的指导方针(据我所知),只是大多数人的做法。允许: 字段修饰符:
static public final int i = 0;
public static final int i = 0;
FieldModifier:其中一个
FieldModifier
FieldModifiers FieldModifier
这项限制:
如果同一个修饰符在字段声明中多次出现,或者字段声明具有多个访问修饰符public、protected和private,则这是编译时错误
及
如果一个字段声明中出现两个或多个(不同的)字段修饰符,则通常(尽管不是必需的)字段修饰符的显示顺序应与上述FieldModifier产品中显示的顺序一致
因此,公共静态
和静态公共
是允许的。允许:
字段修饰符:
static public final int i = 0;
public static final int i = 0;
FieldModifier:其中一个
FieldModifier
FieldModifiers FieldModifier
这项限制:
如果同一个修饰符在字段声明中多次出现,或者字段声明具有多个访问修饰符public、protected和private,则这是编译时错误
及
如果一个字段声明中出现两个或多个(不同的)字段修饰符,则通常(尽管不是必需的)字段修饰符的显示顺序应与上述FieldModifier产品中显示的顺序一致
因此,允许使用公共静态
和静态公共
。来自语言规范第8.3.1节(字段修饰符):
“如果一个字段中出现两个或多个(不同的)字段修饰符
声明,尽管不是必需的,但按照惯例
以与上面在中显示的顺序一致的顺序显示
为FieldModifier制作的产品。”
所以答案是:这是语言规范第8.3.1节(字段修饰符)中的语言规范:
“如果一个字段中出现两个或多个(不同的)字段修饰符
声明,尽管不是必需的,但按照惯例
以与上面在中显示的顺序一致的顺序显示
为FieldModifier制作的产品。”
所以答案是:这是一个语言规范你可以按任何顺序混合关键字。。。不仅仅是公共静态,也包括(方法)
final synchronized strictfp private void main()
。无论你决定做什么,都要始终如一!因为如果不是,你会问为什么不。引用下面的话:“如果一个类声明中出现两个或多个(不同的)类修饰符,那么尽管不是必需的,但习惯上它们的出现顺序与上面在ClassModifier产品中显示的顺序一致”,你可以按任何顺序混合关键字。。。不仅仅是公共静态,也包括(方法)final synchronized strictfp private void main()
。无论你决定做什么,都要始终如一!因为如果不是,你会问为什么不。引用下面的话:“如果一个类声明中出现两个或多个(不同的)类修饰符,那么尽管不是必需的,但习惯上它们的出现顺序与上面在ClassModifier产品中显示的顺序一致”是的,我+1d这两个答案都是因为这个原因:)是的,I+1d这两个答案都是出于这个原因:)