Книга: Основы программирования на Java

8.1.4. Ограничение доступа

8.1.4. Ограничение доступа

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

1. подклассы в том же пакете;

2. не подклассы в том же пакете;

3. подклассы в различных пакетах;

4. классы, которые не являются подклассами и не входят в тот же пакет.

В языке Java имеется три уровня доступа, определяемых ключевыми словами: private (закрытый), public (открытый) и protected (защищенный), которые употребляются в различных комбинациях. Содержимое ячеек таблицы определяет доступность переменной с данной комбинацией модификаторов (столбец) из указанного места (строка).

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

Таблица 8.1 Таблица ограничения доступа

private

модификатор отсутствует

protected

public

тот же класс

да

да

да

да

подкласс в том же пакете

нет

да

да

да

независимый класс в том же пакете

нет

да

да

да

подкласс в другом пакете

нёт

нет

да

да

независимый класс в другом пакете

нет

нет

нет

да

Оглавление книги


Генерация: 0.641. Запросов К БД/Cache: 2 / 0
поделиться
Вверх Вниз