Какой смысл в модификаторах пакетов?

1

Я не понимаю модификаторы пакетов (не аннотации):

public package foo;

public class Bar {
}

У них есть какой-то смысл?

  • 0
    В Java нет такого понятия, как модификатор пакета.
  • 0
    но это правильный синтаксис Java
Показать ещё 8 комментариев
Теги:

1 ответ

7
Лучший ответ

Единственный тип модификатора пакета в JLS - это аннотация. Из JLS 7.4.1:

PackageDeclaration:
Идентификатор package {PackageModifier} {. Идентификатор} ;

PackageModifier:
аннотирование

Таким образом, public package foo; является недопустимым синтаксисом.

Это компилируется в некоторых версиях Eclipse из-за ошибки, которая была исправлена в некоторых условиях и будет исправлена во всех условиях от Eclipse 4.4 и далее.

  • 2
    В eclipse 4.3 он компилируется (ошибки не отображаются, поэтому, я думаю, это ошибка в этом компиляторе
  • 0
    @Pablo: это компилируется с Oracle JDK?
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню