Java packageJava package організовує Java-класи у просторах імен[1], надаючи унікальний простір імен для кожного класу, який він містить. Класи в одному пакеті можуть отримувати доступ до приватних і захищених членів пакету. Java package можуть зберігатися у стислих файлах, з розширенням JAR. В основному, пакет може містити такі типи даних: класи, інтерфейси, перерахування та анотації. Пакет дозволяє розробнику групувати класи (і інтерфейси) разом. Всі ці класи будуть пов'язані певним чином — всі вони матимуть відношення до конкретної програми або будуть виконувати певний набір завдань. Програмісти також зазвичай використовують пакети для організації класів, що належать до однієї категорії, або для забезпечення подібної функціональності. Використання пакетів
У джерельному файлі Java, package, до якого належать клас або класи цього файлу, задається зарезервованим словом package java.awt.event;
Для використання класів Java package у файлі Java-програми зручно імпортувати класи за допомогою зарезервованого слова import java.awt.event.*;
імпортує всі класи з пакета import java.awt.event.ActionEvent;
імпортує з пакета тільки клас ActionEvent myEvent = new ActionEvent();
Класи також можна використовувати безпосередньо без імпорту, використовуючи повне ім'я класу. Наприклад, java.awt.event.ActionEvent myEvent = new java.awt.event.ActionEvent();
не вимагає попереднього імпортування. Пакет без назвиЗауважте, якщо декларація пакета відсутня, то клас потрапляє в безіменний пакет. Класи в безіменному пакеті не можуть бути імпортовані як класи в будь-якому іншому пакеті.[2] Офіційний навчальний посібник Java радить цього не робити: Взагалі кажучи, безіменний пакет призначений лише для невеликих або тимчасових програм, або для найперших стадій розробки програми. В іншому випадку класи і інтерфейси належать до іменованих пакетів.[3] Захист доступу до пакетаПублічні члени та класи є видимими всюди, а приватні члени видимі тільки в одному класі. Класи всередині пакета можуть отримати доступ до класів і членів, які отримали модифікатор доступу за замовчуванням ( Створення файлів JARФайли JAR створюються за допомогою командного рядка jar. Команда jar cf myPackage.jar * .class стискає всі .class файли в JAR-файл myPackage.jar . Опція 'c' вказує на «створення нового архіву». Опція 'f' повідомляє йому про створення файлу. Назва файлу вказується перед вмістом файлу JAR. Узгодження про іменування пакетівПакети, як правило, визначаються за допомогою ієрархічного шаблону іменування, причому деякі рівні в ієрархії розділені періодами ( Загалом, назва пакета починається з імені домену верхнього рівня організації, а потім домену організації, а потім будь-яких субдоменів, перерахованих у зворотному порядку. Організація може потім вибрати певне ім'я для свого пакета. Наступні компоненти імені пакету змінюються відповідно до власних внутрішніх правил організації.[5] Наприклад, якщо організація в Канаді, яка називається MySoft, створює пакет для роботи з дробовими числами, іменування пакета ca.mysoft.fractions відрізняє пакет дробів від іншого подібного пакета, створеного іншою компанією. Якщо німецька компанія MySoft також створює пакет дробів, вона називає її de.mysoft.fractions, тому класи цих двох пакетів визначаються в унікальному і окремому просторі імен. Всі домовленості щодо визначення неоднозначності імен пакетів і правил їх іменування, коли ім'я Інтернет домену не може бути безпосередньо використано як ім'я пакета, описані в розділі 7.7 специфікації мови Java.[6] Основні пакети в Java SE 8
Пакет java.lang доступний без імпорту. МодуліВ Java 9, «модулі»[en] — вид збірки пакетів, створений в рамках проекту Jigsaw; модулі раніше називалися «суперпакетами» і спочатку планувалися для Java 7. Модулі описують свої залежності в декларації модуля, яка розміщена у файлі з ім'ям module-info.java в корені ієрархії вихідних файлів модуля. JDK перевіряє їх як під час компіляції, так і під час виконання. Сам JDK був введений в Java 9.[7] Див. такожПримітки
Посилання
Information related to Java package |