Пакет – это пространство имен для классов Java.
В соостветствии с концепцией пакетов, все классы разбиваются по группам. Имя класса должно быть уникально в пределах его пакета.
Для определения пакета необходимо в файле с описанием класса, включаемого в пакет первой командой укзать инструкцию package и имя пакета.
Определение пакета
package mypack;
Где mypack – имя пакета. Если пакет с таким именем уже существует, класс добавляется в этот пакет. Если такого пакета нет – он создается. Таким образом одна и таже конструкция может использоваться в нескольких файлах.
В файле класса может быть либо одна инструкция package, либо не быть вовсе. Если инструкция package отсутствует, класс попадает в пакет по умолчанию.
Пакет, кроме классов, может содержать интерфейсы, а также подпакеты. При указании имени подпакета (пакета находящегося в другом пакете), используется точечный синтаксис – имени одного пакета предшевствует имя другого пакета, а в качестве разделителя используется точка. При этом иерархия пакетов должна строго соответствовать структуре файловой системы. Например, если файл содержит инструкцию project.abc.mypack, это означает, что файлы подпакета mypack размещены в каталоге project.abc.mypack.
Чтобы можно было ссылаться на классы внешних пакетов, их необходимо импортировать. При этом используется ключевое слово import. Файл может содержать несколько конструкций импорта. Можно импортировать отдельные классы пакета (но только открытые), либо весь пакет.
import mypack.subpack.PackClass // импорт одного класса пакета import mypack.subpack.* // импорт всех классов пакетаБазовая библиотека языка Java, или пакет java.lang импортируется по умолчанию в любой класс Java.