Что такое пакет в Java?
Пакет представляет собой набор связанных классов. Это помогает организовать ваши классы в структуру папок и упростить их поиск и использование. Что еще более важно, это помогает улучшить возможность повторного использования.
Каждый пакет в Java имеет свое уникальное имя и организует свои классы и интерфейсы в отдельное пространство имен или группу имен.
Хотя интерфейсы и классы с одним и тем же именем не могут появляться в одном и том же пакете, они могут появляться в разных пакетах. Это возможно, назначив отдельное пространство имен каждому пакету.
Синтаксис:-
package nameOfPackage;
В следующем видео вы узнаете, как создать пакет.
Нажмите здесь, если видео не доступно
Давайте изучим пакет с примером. Мы определяем класс и объект, а затем компилируем его в наш пакет p1. После компиляции мы выполняем код как пакет java.
Шаг 1) Рассмотрим следующий код,
Вот,
- Чтобы поместить класс в пакет, в первой строке кода определите пакет p1.
- Создать класс c1
- Определение метода m1, который печатает строку.
- Определение основного метода
- Создание объекта класса c1
- Вызов метода m1
Шаг 2) На следующем шаге сохраните этот файл как demo.java
Шаг 3) На этом этапе мы компилируем файл.
Компиляция завершена. Файл класса c1 создан. Тем не менее, пакет не создан? Следующий шаг имеет решение
Шаг 4) Теперь нам нужно создать пакет, используя команду
javac –d . demo.java
Эта команда заставляет компилятор создать пакет.
«» Оператор представляет текущий рабочий каталог.
Шаг 5) Когда вы выполняете код, он создает пакет p1. Когда вы откроете java-пакет p1 внутри, вы увидите файл c1.class.
Шаг 6) Скомпилируйте тот же файл, используя следующий код
javac –d .. demo.java
Здесь «..» указывает родительский каталог. В нашем случае файл будет сохранен в родительском каталоге C Drive
Файл сохраняется в родительском каталоге при выполнении вышеуказанного кода.
Шаг 7) Теперь предположим, что вы хотите создать подпакет p2 в нашем существующем java-пакете p1. Затем мы изменим наш код как
package p1.p2
Шаг 8) Скомпилируйте файл
Как видно на скриншоте ниже, он создает подпакет p2, имеющий класс c1 внутри пакета.
Шаг 9) Для выполнения кода укажите полное имя класса, т.е. имя пакета, за которым следует имя подпакета, за которым следует имя класса —
java p1.p2.c1
Вот как выполняется пакет и выдает вывод «m1 of c1» из файла кода.
Импорт пакетов
Чтобы создать объект класса (связанный в пакете), в вашем коде вы должны использовать его полное имя.
Пример:
java.awt.event.actionListner object = new java.awt.event.actionListner();
Но может оказаться утомительным вводить длинное имя пути пакета, разделенное точкой, для каждого класса, который вы хотите использовать. Вместо этого рекомендуется использовать оператор импорта.
Синтаксис
import packageName;
После импорта вы можете использовать класс, не упоминая его полное имя.
import java.awt.event.*; // * signifies all classes in this package are imported import javax.swing.JFrame // here only the JFrame class is imported //Usage JFrame f = new JFrame; // without fully qualified name.
Пример : для импорта пакета
Шаг 1) Скопируйте код в редактор.
package p3; import p1.*; //imports classes only in package p1 and NOT in the sub-package p2 class c3{ public void m3(){ System.out.println("Method m3 of Class c3"); } public static void main(String args[]){ c1 obj1 = new c1(); obj1.m1(); } }
Шаг 2) Сохраните файл как Demo2.java. Скомпилируйте файл с помощью команды javac –d. Demo2.java
Шаг 3) Выполните код с помощью команды java p3.c3
Пакеты — указывает на заметку:
- Чтобы избежать конфликтов имен, пакетам присваиваются имена доменов компании в обратном порядке, например: com.guru99. com.microsoft, com.infosys и т. д.
- Если имя пакета не указано, класс находится в пакете по умолчанию (текущем рабочем каталоге), а сам пакет не имеет имени. Следовательно, вы могли выполнять задания раньше.
- При создании пакета следует позаботиться о том, чтобы оператор для создания пакета был написан перед любыми другими операторами импорта
// not allowed import package p1.*; package p3; //correct syntax package p3; import package p1.*;
пакет java.lang импортируется по умолчанию для любого класса , который вы создаете в Java.
Java API очень обширный, содержит классы, которые могут выполнять практически все ваши задачи программирования, начиная с манипулирования структурой данных и заканчивая сетью. Чаще всего вы будете использовать файлы API в своем коде. Вы можете увидеть документацию по API здесь.