3

快速提问:

是正确的语法:

public abstract void myMethod();

或者

abstract public void myMethod();

...不同之处在于关键字publicabstract.

两者都在没有警告的情况下编译,但哪种语法是正确的?

4

4 回答 4

6

根据JLS 第 8.1.1 节

ClassModifier: one of
    Annotation public protected private
    abstract static final strictfp 

如果两个或多个类修饰符出现在一个类声明中,那么尽管不是必需的,但习惯上它们的出现顺序与上面 ClassModifier 产生式中所示的顺序一致。

于 2012-02-01T21:47:42.077 回答
2

要么是“适当的”。区别在于风格问题。我更喜欢第一个。

于 2012-02-01T21:38:50.740 回答
2

两者在语法上都是正确的,但

public abstract void myMethod();

更常见。您通常首先声明可见性。

于 2012-02-01T21:40:53.887 回答
1

最常见的做法是public abstract. 我实际上无法回忆起任何相反的示例或书籍或我使用过的任何代码。

于 2012-02-01T21:40:59.207 回答