Когда файлов с классами много, то их, как правило, группируют (помещают) в специальные контейнеры - пакеты, создавая тем самым иерархическую систему (как аналог папок (директорий) в файловой системе (на компьютере)).
То есть для класса Tea, который лежит в пакете “drinks.hot” это значит, что в папке на диске, например, cods, где хранятся все файлы проекта, должна быть папка drinks, а в ней вложенная папка hot, в которой и должен храниться файл Tea.java, в котором и содержится код класса Tea.
package drinks.hot;
import java.io.IOExсeption;
public class Tea
{
public static void main(String[] args) throws IOExсeption
{
System.out.println("TEXT");
}
}
Объявление пакета – это первое выражение в модуле компиляции (первой строкой после комментариев перед кодом (при их наличии))
Объявление пакета записывается с помощью ключевого слова package, после которого указывается полное имя пакета.
Пример:
Для файла java/lang/Object.java
объявлением пакета будет являться строка package java.lang;
(Даннная строка служит одновременно объявлением пакета lang, вложенного в пакет java, и указанием,что объявляемый ниже класс Object, находится в этом пакете).
Полное имя класса Object в этом случае будет java.lang.Object.
Что такое безымянные пакеты
Если это выражение (объявление пакета) отсутствует, то такой модуль компиляции будет принадлежать безымянному пакету.
Этот пакет по умолчанию обязательно должен поддерживаться реализацией Java-платформы.
Безымянный пакет не может иметь вложенных пакетов, так как составное имя пакета должно обязательно начинаться с имени пакета верхнего уровня.
(Пакет по умолчанию был введен в Java для облегчения написания небольших или временных приложений)
Область видимости пакетов и импорт классов пакетов (import)
Область видимости объявления типа – пакет, в котором он располагается.
То есть внутри этого пакета допускается обращение к типу по его простому имени.
Из всех других пакетов необходимо обращаться по составному имени (полное имя пакета плюс простое имя типа, разделенные точкой).
Так как пакеты могут иметь довольно длинные имена, для упрощения разработки ввели import-выражения:
import-выражения позволяют импортировать типы в модуль компиляции и далее обращаться к ним по простым именам.
Существует два вида import-выражений:
1) импорт одного типа - записываются с помощью ключевого слова import и полного имени типа/
Пример: import java.net.URL;
Такое выражение означает, что в дальнейшем в этом модуле компиляции простое имя URL будет обозначать одноименный класс из пакета java.net
2) импорт пакета - включает в себя полное имя пакета
Пример: import java.awt.*;
Это выражение делает доступными все типы, находящиеся в пакете java.awt, по их простому имени.
Комментариев нет:
Отправить комментарий