У мові Java використовується загальний і зручний спосіб організацій класів в Програми. Кожен відкритий клас в Java зберігається в окремому файлі з розширенням Java, ім'я якого збігається з ім'ям класу. Таким чином, відкритий клас SmartBoard зберігається в файлі SmartBoard.java. Сукупність пов'язаних класів зберігається в одному каталозі і утворює пакет. Опис кожного файлу пакета починається рядком:
Ім'я каталогу, що містить пакет, збігається з ім'ям цього пакета. Можна зберегти пакет в один файл, який містить кілька класів, однак при обробці пакета компілятор збереже всі класи в окремих файлах в тому ж каталозі.
Використання інших пакетів
У мові Java можливо вико ^ тання класів з інших пакетів. Для цього перед ім'ям класу ставиться крапка (тобто символ «.»), Що відповідає структурі дерева пакетів.
public boolean Temperature (TA Measures.Thermometer thermometer, int temperature)
В даному прикладі в функцію Temperature як параметр передається змінна класу Thermometer. Thermometer входить в підпакету Measures пакету ТА. Символи-точки в запису ТА.Measures.Thermometer вказують на деревоподібну структуру пакету ТА.
Щоб позбутися від стомлюючої необхідності набирати повні довгі імена класів при зверненні до класу з іншого пакета, в Java використовується оператор import, який дозволяє здійснювати доступ з поточного файлу до класів з інших пакетів і цілим пакетам: Для імпорту окремого класу деякого пакета на початку файлу необхідно записати:
Наприклад, на початку пакета Project можна записати
import TA.Measures.Thermometer; import TA.Measures.Scale;
Імпорт цілого пакета вказується наступним чином:
import (packageName), Наприклад,
package student; import TA.Measures. [4];
public boolean Temperature (Thermometer thermometer, int temperature)
Якщо оператор import застосовується в обох пакетах, то необхідно вказати пакет, клас якого потрібно.
Gnomes.Mushroom shroom = new Gnomes.Mushroom ( "purple"), Cooking. Mushroom topping = new Cooking Mushroom ();
Якби не було вказано ім'я пакета (тобто в даному прикладі була б вказана проста змінна Mushroom), то компілятор видав би повідомлення про помилку «неоднозначний клас».
Таким чином, програма в мові Java має наступну структуру: змінні екземпляра і методи утворюють клас, а класи об'єднуються в пакет.