2009-04-03 6 views

ответ

226

По умолчанию область действия является приватной. Все классы в одном пакете могут получить доступ к методу/поле/классу. Пакет-частный более строгий, чем защищенный и общедоступный, но более разрешительный, чем частный.

Дополнительная информация:
http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html
http://mindprod.com/jgloss/scope.html

+2

гораздо лучший ответ - @ joe - пойдите с этим, а не с моим. –

+2

«Пакет по умолчанию более строгий, чем ...» – reinaldoluckman

+6

Также стоит упомянуть, что «package-private» является хорошей областью применения при экспонировании методов для внешнего тестирования модулей. –

4

По умолчанию используется значение по умолчанию. Это странно - см. thesereferences для получения дополнительной информации.

+3

На самом деле это не так: это пакетно-частный –

+0

Черт возьми, Морис, я обновил свой ответ. –

+2

Я не могу удалить свой ответ, поскольку он был принят. Я призываю Джо пойти с ответом @ Esko! –

17

Все, что определено в качестве частного пакета можно получить доступ к самому классу, другие классы в том же пакете, но не за пределами пакета, а не подклассов ,

Смотрите this page для удобной таблицы модификаторов уровня доступа ...

+0

Спасибо, что я единственный, кто узнал авторитетный источник. –

7

без модификатора доступа, член класса доступен в пакете, в котором она объявлена. Вы можете узнать больше от Java Language Specification, §6.6.

Члены интерфейса всегда доступны для публики, независимо от того, объявлены они явно.

+0

+1 для получения дополнительной информации о членах интерфейса. – Wazza

0

Если вы не даете модификатор вашему методу, то по умолчанию он будет модификатором по умолчанию, который имеет область действия внутри пакета.
для получения дополнительной информации вы можете обратиться http://wiki.answers.com/Q/What_is_default_access_specifier_in_Java

0

Java-теперь позволяет реализацию методов внутри самого интерфейса с по умолчанию сферы (и статической только).

Смежные вопросы