Модуль компиляции (complication unit)-хранится в текстовом .java-файле и является единичной порцией входных данных для компилятора. Состоит из трех частей:
- Объявление пакета;
- Import-выражения;
- Объявления верхнего уровня;
Объявление пакета указывает, какому пакету будут принадлежать все объявляемые ниже типы. Используется ключевое слово package, после которого указывается полное имя пакета. Например, в файле
java/lang/Object.java идет: package java.lang; что служит одновременно объявлением пакета lang, вложенного в пакет java, и указанием, что объявляемый ниже класс Object, находится в этом пакете. Так складывается полное имя класса java.lang.Object.
Область видимости типа - пакет, в котором он располагается. Внутри этого пакета допускается обращение к типу по его простому имени. Из всех других пакетов необходимо обращаться по составному имени.
Для решения этой проблемы вводятся import-выражения, позволяющие импортировать типы в модуль компиляции и далее обращаться к ним по простым именам. Существует два вида таких выражений:
- импорт одного типа: import java.net.URL;
- импорт пакета: import java.awt.*;
