使用Java中的抽象方法签名的可见性修饰符

时间:2012-02-01 21:36:55

标签: java keyword modifier

快速提问:

是否正确的语法:

public abstract void myMethod();

OR

abstract public void myMethod();

...区别在于关键字publicabstract的顺序。

两个编译都没有警告,但哪个是正确的语法?

4 个答案:

答案 0 :(得分:6)

根据JLS section 8.1.1

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

如果两个或多个类修饰符出现在类声明中,那么它   按惯例,虽然不是必需的,但它们出现在订单中   与上面在ClassModifier的制作中所示的一致。

答案 1 :(得分:2)

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

答案 2 :(得分:2)

两者语法正确但

public abstract void myMethod();

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

答案 3 :(得分:1)

最常见的做法是public abstract。我实际上无法回想起任何一个例子或书籍,或者与我合作过的任何相反的代码。