Page 95 - 4836
P. 95
різних пакетах. Таким чином, розробникам не доводиться
витрачати час на вирішення конфлікту імен.
Елементи пакета
Ще раз повторимо, що елементами пакету є вкладені
пакети і типи (класи та інтерфейси). Однойменні елементи
заборонені, тобто не може бути однойменних класу і
інтерфейсу, або вкладеного пакету і типу. В іншому випадку
виникне помилка компіляції.
Складене ім'я будь-якого елементу пакету - це складене
ім'я цього пакету плюс просте ім'я елемента. Наприклад, для
класу Object в пакеті java.lang складовим ім'ям буде
java.lang.Object, а для пакета image в пакеті java.awt -
java.awt.image.
Ієрархічна структура пакетів була введена для
зручності організації пов'язаних пакетів, однак вкладені
пакети, або сусідні, тобто вкладені в один і той ж самий пакет,
не мають ніяких додаткових зв'язків між собою, крім
обмеження на розбіжність імен. Наприклад, пакети space.sun,
space.sun.ray, space.moon і factory.store абсолютно "рівні" між
собою і типи одного з цих пакетів не мають ніякого
особливого доступу до типів інших пакетів.
Найпростішим способом організації пакетів і типів є
звичайна файлова структура. Розглянемо виразний приклад,
коли всі пакети, вихідний і бінарний код розташовуються в
одному каталозі і його підкаталогах.
У цьому кореневому каталозі повинна бути папка java,
відповідна основного пакета мови, а в ній, у свою чергу,
вкладені папки applet, awt, io, lang, net, util.
Припустимо, розробник працює над моделлю сонячної
системи, для чого створив класи Sun, Moon і Test та
розташував їх у пакеті space.sunsystem. У такому випадку в
кореневому каталозі повинна бути папка space, відповідна
93