Главная » Java, Структуры данных и алгоритмы » Пакеты Java как способ организаций классов

0

В языке Java используется общий и удобный способ организаций классов в Программы. Каждый открытый класс в Java сохраняется в отдельном файле с расширением Java, имя которого совпадает с именем класса. Таким образом, открытый класс SmartBoard сохраняется в файле SmartBoard.java. Совокупность связанных классов хранится в одном каталоге и образует пакет. Описание каждого файла пакета начинается строкой:

package <package_name>;

Имя каталога, содержащего пакет, совпадает с именем этого пакета. Можно сохранить пакет в один файл, содержащий несколько классов, однако при обработке пакета компилятор сохранит все классы в отдельных файлах в том же каталоге.

Использование других пакетов

В языке Java возможно испо^зование классов из других пакетов. Для этого перед именем класса ставится точка (то есть символ «.»), что соответствует древовидной структуре пакетов.

public boolean Temperature(TA Measures.Thermometer thermometer, int temperature) {

II… }

В данном примере в функцию Temperature в качестве параметра передается переменная класса Thermometer. Thermometer входит в подпакет Measures пакета ТА. Символы-точки в записи ТА.Measures.Thermometer указывают на древовидную структуру пакета ТА.

Оператор import

Чтобы избавиться от утомительной необходимости набирать полные длинные имена классов при обращении к классу из другого пакета, в Java используется оператор import, который позволяет осуществлять доступ из текущего файла к классам из других пакетов и целым пакетам: Для импорта отдельного класса некоторого пакета в начале файла необходимо записать:

import (packageName).(classNames);

Например, в начале пакета Project можно записать

package Project,

import TA.Measures.Thermometer; import TA.Measures.Scale;

что показывает импорт классов TA.Measures.Thermometer и TA.Measures.Scale. После этого управляющая Java-среда будет производить просмотр этих классов в поисках идентификаторов классов, методов и переменных, используемых в нашей программе.

Импорт пакетов

Импорт целого пакета указывается следующим образом:

import (packageName), Например,

package student; import TA.Measures.[4];

public boolean Temperature(Thermometer thermometer, int temperature) {

// .. }

В том случае, если два пакета содержат классы с одинаковым именем, при объявлении класса необходимо особо указать пакет, содержащий этот класс. Например, предположим, что пакеты Gnome и Cooking содержат кладе с именем Mushroom.

Если оператор import применяется в обоих пакетах, то необходимо указать пакет, класс которого требуется.

Gnomes.Mushroom shroom = new Gnomes.Mushroom ("purple"), Cooking. Mushroom topping = new Cooking Mushroom ();

Если бы не было указано имя пакета (то есть в данном примере была бы указана простая переменная Mushroom), то компилятор выдал бы сообщение об ошибке «неоднозначный класс».

Таким образом, программа в языке Java имеет следующую структуру: переменные экземпляра и методы образуют класс, а классы объединяются в пакет.

Источник: Гудрич М.Т. Г93 Структуры данных и алгоритмы в Java / М.Т. Гудрич, Р. Тамассия; Пер. с англ. A.M. Чернухо. — Мн.: Новое знание, 2003. — 671 е.: ил.

По теме:

  • Комментарии