Java - Пакеты (Package)

Во многом эта заметка основана на тезисах из книги Г. Шилдта:

Пакеты

Общая информация:

  1. Пакеты - это контейнеры для классов.
  2. Они позволяют изолировать наборы имён классов - один от другого.
  3. Для хранения пакетов используются каталоги файловой системы
  4. Один и тот же пакет может "распространяться" по множества файлов
  5. Можно создавать иерархию пакетов
  6. Иерархия также отражается в файловой структуре
  7. Имя пакета нельзя изменить не изменив имени директории, в которой лежат файлы классов из этого пакета

Определение пакета

package MyPackage; // объявляем пакет

Общий вид определения пакета в иерархии
(иерархии пакетов):

package пакет1.пакет2.....пакетN;

например:

// классы следующего пакета будут лежить в директории
// java/awt/image
package java.awt.image; 

Поиск пакетов и переменная среды CLASSPATH

чтобы программа могла найти классы пакета необходимо:

  • 1) либо директория с пакетами находится "внутри" директории из которой происходит запуск
  • 2) либо путь к пакетам указвается в -classpath