Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 静态公共和公共静态,为什么同样的事情可以用两种不同的风格来完成?_Java - Fatal编程技术网

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这两个答案都是出于这个原因:)