Определение пакета
Создание пакета является простой задачей: достаточно включить команду package в качестве первого оператора исходного файла Java. Любые классы, объявленные внутри этого файла, будут принадлежать указанному пакету. Оператор package определяет пространство имен, в котором хранятся классы. Если оператор package опущен, имена классов помещаются в используемый по умолчанию пакет без имени. (Именно поэтому до сих пор нам не нужно было беспокоиться об определении пакетов.) Хотя для коротких примеров программ пакет, используемый по умолчанию, вполне подходит, он не годится для реальных приложений. В большинстве случаев для кода придется определять пакет.
Оператор package имеет следующую общую форму:
package пакет;
Пакет задает имя пакета. Например, показанный ниже оператор создает пакет MyPackage:
package MyPackage;
Для хранения пакетов система Java использует каталоги файловой системы. Например, файлы .class любых классов, объявленных в качестве составной части пакета MyPackage, должны храниться в каталоге MyPackage. Помните, что регистр символов имеет значение, а имя каталога должно в точности совпадать имени пакета.
Один и тот же оператор package может присутствовать в более чем одном файле. Этот оператор просто указывает пакет, к которому принадлежат классы, определенные в данном файле. Он не препятствует тому, чтобы другие классы в других файлах были частью этого же пакета. Большинство пакетов, используемых в реальных программах, распределено по множеству файлов.
Java позволяет создавать иерархию пакетов. Для этого применяется символ точки. Оператор многоуровневого пакета имеет следующую общую форму:
package пакет[[.пакет2[.пакетЗ]];
Иерархия пакетов должна быть отражена в файловой системе средькразработки Java. Например, в среде Windows пакет, объявленный как:
package java.awt.image;
должен храниться в каталоге java\awt\image. Необходимо тщательно проверять правильность выбора имен пакетов. Имя пакета нельзя изменить, не изменяя имя каталога, в котором хранятся классы.