Иллюстрированный самоучитель по Java

Пакет и подпакет


Чтобы создать пакет надо просто в первой строке Java-файла с исходным кодом записать строку

package имя;

, например:

package mypack;

Тем самым создается пакет с указанным именем

mypack

и все классы, записанные в этом файле, попадут в пакет

mypack

. Повторяя эту строку в начале каждого исходного файла, включаем в пакет новые классы.

Имя подпакета уточняется именем пакета. Чтобы создать подпакет с именем, например,

subpack

, следует в первой строке исходного файла написать;

package mypack.subpack;



и все классы этого файла и всех файлов с такой же первой строкой попадут в подпакет

subpack

пакета

mypack

.

Можно создать и подпакет подпакета, написав что-нибудь вроде

package mypack.subpack.sub;

и т. д. сколько угодно раз.

Поскольку строка

package

имя;

только одна и это обязательно первая строка файла, каждый класс попадает только в один пакет или подпакет.

Компилятор Java может сам создать каталог с тем же именем mypack, a в нем подкаталог subpack, и разместить в них class-файлы с байт-кодами.

Полные имена классов А, в будут выглядеть так: mypack.A, mypack.subpack.в.

Фирма SUN рекомендует записывать имена пакетов строчными буквами, тогда они не будут совпадать с именами классов, которые, по соглашению, начинаются с прописной. Кроме того, фирма SUN советует использовать в качестве имени пакета или подпакета доменное имя своего сайта, записанное в обратном порядке, например:

com.sun.developer

До сих пор мы ни разу не создавали пакет. Куда же попадали наши файлы с откомпилированными классами?

Компилятор всегда создает для таких классов

безымянный пакет

(unnamed package), которому соответствует текущий каталог (current working directory)

файловой системы. Вот поэтому у нас class-файл всегда оказывался в том же каталоге, что и соответствующий Java-файл.

Безымянный пакет служит обычно хранилищем небольших пробных или промежуточных классов. Большие проекты лучше хранить в пакетах. Например, библиотека классов Java 2 API хранится в пакетах

java, javax, org.omg.

Пакет

Java

содержит только подпакеты

applet, awt, beans, io, lang, math, net, rmi, security, sql, text, util

и ни одного класса. Эти пакеты имеют свои подпакеты, например, пакет создания ГИП и графики

java.awt

содержит подпакеты

color, datatransfer, dnd, event, font, geometry, im,image, print.

Конечно, состав пакетов меняется от версии к версии.



Содержание раздела