Программирование на языке Java


Пакеты и интерфейсы - часть 3


import java.util.Date

import java.io.*;

 

ЗАМЕЧАНИЕ

Но использовать без нужды форму записи оператора import с использованием звездочки не рекомендуется, т.к. это может значительно увеличить время трансляции кода (на скорость работы и размер программы это не влияет).

 

Все встроенные в Java классы, которые входят в комплект поставки, хранятся в пакете с именем java. Базовые функции языка хранятся во вложенном пакете java.lang. Весь этот пакет автоматически импортируется транслятором во все программы. Это эквивалентно размещению в начале каждой программы оператора

import java.lang.*;

Если в двух пакетах, подключаемых с помощью формы оператора im­port со звездочкой, есть классы с одинаковыми именами, однако вы их не используете, транслятор не отреагирует. А вот при попытке исполь­зовать такой класс, вы сразу получите сообщение об ошибке, и вам при­дется переписать операторы import, чтобы явно указать, класс какого пакета вы имеете ввиду.

class MyDate extends Java.util.Date { }

 

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

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

• Подклассы в том же пакете.

• Не подклассы в том же пакете.

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

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

 

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

 

 

private

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

private protected

protected

public

тот же класс

да

да

Да

да

да

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

нет

да

Да

да

да

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

нет

да

Нет

да

да

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

нет

нет

Да

да

да

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

нет

нет

Нет

нет

да

<


Начало  Назад  Вперед



Книжный магазин