Знакомьтесь: пакеты
Что такое пакет
Допустим, необходимо создать класс с именем Applet. Такая ситуация, конечно, большая редкость, но ситуации бывают разные… Однако этот класс уже есть в библиотеке Java. Чтобы использовать оба класса под тем же именем, нужно поместить их в разные пакеты, а затем импортировать (т.е. вставить в ваш файл определения классов) один из них. Пакетом, таким образом, называется объединение классов.
Создать пакет очень просто: нужно в файл перед определением классов вставить следующую строку:
package ИмяПакета;
Пакеты должны располагаться в соответствующих директориях, т.е. файл пакета (с именем ИмяПакета) должен быть сохранен в папке ИмяПакета.
Пакеты могут быть вложенными (например, java.util, где java— главный пакет, autil — вложенный). Соответственно эти два пакета должны располагаться в каталоге j ava\util.
Создадим для примера пакет (листинг 6.1).
Листинг 6.1.
Пример создания пакета из двух классов
Мы создали пакет из двух классов.
Уровни доступа в пакетах такие:
1. Public — члены класса доступны из всех пакетов.
2. Protected— члены класса доступны всем подклассам и неподклассам из того же пакета.
3. Без модификатора — члены класса доступны только в этом пакете.
4. Private — члены класса доступны только в том же классе.
У классов могут быть два уровня доступа:
• public — класс доступен отовсюду;
• без модификатора — класс доступен только в этом пакете.
Чтобы использовать пакет, необходимо подключить его к коду (импортировать). Это делается следующим образом.
import ИмяПакета.ИмяКласса; import ИмяПакета.*;
В первом случае мы импортируем только один класс, а во втором — импортируем полный пакет. Предположим, нам нужно создать две переменные классов Date и Calendar. Вот как это будет выглядеть, если мы не импортируем пакет (листинг 6.2).
Листинг 6.2.
Создание двух переменных классов Date и Calendar
Теперь импортируем пакет java.util.
Листинг 6.3.
Импорт пакета java.util
Согласитесь, второй вариант короче. Теперь импортируем наш пакет fruits в программу (листинг 6.4).
Листинг 6.4.
Импорт пакета fruits в программу
Легко заметить, что работа с пакетами очень проста. Рассмотрим теперь стандартные пакеты языка Java.