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

3

快速问题:

下面的格式是否正确:

public abstract void myMethod();

或者

abstract public void myMethod();

两者的区别在于关键字publicabstract的顺序不同。

两者都可以编译通过而没有警告,但哪个是正确的语法呢?

4个回答

6

根据JLS第8.1.1节

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

如果在类声明中出现两个或多个类修饰符,则通常(但不是必须)按照ClassModifier生产中显示的顺序出现。

2

两种写法都是正确的。区别在于风格不同。我更喜欢第一种。


2

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

public abstract void myMethod();

更常见的做法是先声明可见性。


1

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接