Модификатор видимости с сигнатурами абстрактных методов в Java - PullRequest
3 голосов
/ 02 февраля 2012

Быстрый вопрос:

Правильный ли синтаксис:

public abstract void myMethod();

OR

abstract public void myMethod();

... Разница в порядке ключевых слов public и abstract.

Оба компилируются без предупреждений, но каков правильный синтаксис?

Ответы [ 4 ]

6 голосов
/ 02 февраля 2012

Согласно разделу JLS 8.1.1

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

Если в объявлении класса присутствуют два или более модификаторов класса, то обычно, хотя и не обязательно, чтоони появляются в порядке, совместимом с приведенным выше при создании ClassModifier.

2 голосов
/ 02 февраля 2012

Оба синтаксически верны, но

public abstract void myMethod();

встречается чаще. Обычно вы сначала объявляете видимость.

2 голосов
/ 02 февраля 2012

Либо "правильно".Разница - это вопрос стиля.Я предпочитаю первое.

1 голос
/ 02 февраля 2012

Самая распространенная практика - public abstract.На самом деле я не могу вспомнить ни один пример, ни книгу, ни какой-либо код, с которым я работал, что делает наоборот.

...