Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Модификаторы доступа



В Java предусмотрено 4 вида модификаторов – public, protected, default(или пакетный, при этом ключевого слова для данного уровня доступа не предусмотрено см. Строку 1.10) и последний тип – private. Наличие различных модификаторов доступа обусловлено необходимостью реализовать в языке одну из важнейших особенностей ООП- инкапсуляцию. Инкапсуляция предполагает разделение поведения и свойств(атрибутов) классов на внешние, доступные другим классам, и внутренние, о которых внешним классам ничего не известно. Цель инкапсюляции- уйти от зависимости внешнего интерфейса класса(то, что могут использовать другие классы) от реализации. Чтобы малейшее изменение в классе не влекло за собой изменение внешнего поведения класса. Соответственно, максимально открытый уровень доступности – это public, максимально защищенный уровень – это private.

Public-уровень предполагает доступ к компоненту с этим модификатором из экземпляра любого класса и любого пакета.

Protected - уровень предполагает доступ к компоненту с этим модификатором из экземпляров родного класса и классов-потомков, независимо от того в каком пакете они находятся.

Default-уровень предполагает доступ к компоненту с этим модификатором из экземпляров любых классов, находящихся в одном пакете с этим классом.

Private- уровень предполагает доступ к компоненту с этим модификатором только из этого класса.

Для разных структурных элементов класса предусмотрена возможность применять только определенные уровни модификаторов доступа.

Для класса- только public и default.

Для свойств(атрибутов) класса – все 4 вида.

Для конструкторов – все 4 вида.

Для методов- все 4 вида.





Дата публикования: 2015-04-06; Прочитано: 348 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.129 с)...