Ограничение доступа в классах Java

 

Язык Java предоставляет несколько уровней защиты, обеспечивающих возможность настройки области видимости данных и методов. Из-за наличия пакетов Java работает с четырьмя категориями видимости между элементами классов:

· по умолчанию – дружественные члены класса доступны классам, находящимся в том же пакете;

· private – члены класса доступны только членам данного класса;

· protected – члены класса доступны классам, находящимся в том же пакете, и подклассам – в других пакетах;

· public – члены класса доступны для всех классов в этом и других пакетах.

Член класса (поле или метод), объявленный public, доступен из любого места вне класса. Все, что объявлено private, доступно только методам внутри класса и нигде больше. Если у элемента вообще не указан модификатор уровня доступа, то такой элемент будет виден и доступен из подклассов и классов того же пакета. Именно такой уровень доступа используется по умолчанию. Если же необходимо, чтобы элемент был доступен из другого пакета, но только подклассам того класса, которому он принадлежит, нужно объявить такой элемент со спецификатором protected. Действие спецификаторов доступа распространяется только на тот элемент класса, перед которым они стоят.

Спецификатор доступа public может также стоять перед определением внешнего (enclosing) класса. Если данный спецификатор отсутствует, то класс недоступен из других пакетов.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100