В этой статье вы узнаете о пакетах и о том, как их использовать для создания модульного кода на Java.
Пакет Java
Пакет - это просто контейнер, который группирует связанные типы (классы Java, интерфейсы, перечисления и аннотации). Например, в ядре Java ResultSet
интерфейс принадлежит java.sql
пакету. Пакет содержит все связанные типы, необходимые для SQL-запроса и подключения к базе данных.
Если вы хотите использовать ResultSet
интерфейс в своем коде, просто импортируйте пакет java.sql (импорт пакетов будет обсуждаться позже в статье).
Как упоминалось ранее, пакеты - это просто контейнеры для классов Java, интерфейсов и так далее. Эти пакеты помогут вам зарезервировать пространство имен классов и создать поддерживаемый код.
Например, Date
в Java можно найти два класса. Однако практическое правило программирования на Java состоит в том, что в проекте Java допускается только одно уникальное имя класса.
Как им удалось включить в JDK два класса с одинаковым именем Date?
Это стало возможным, потому что эти два Date
класса принадлежат двум разным пакетам:
java.util.Date
- это обычный класс Date, который можно использовать где угодно.java.sql.Date
- это дата SQL, используемая для запроса SQL и т.п.
В зависимости от того, определен ли пакет пользователем или нет, пакеты делятся на две категории:
Встроенный пакет
Встроенные пакеты - это существующие пакеты java, которые поставляются вместе с JDK. Так , например, java.lang
, java.util
, java.io
и т.д. Например:
import java.util.ArrayList; class ArrayListUtilization ( public static void main(String() args) ( ArrayList myList = new ArrayList(3); myList.add(3); myList.add(2); myList.add(1); System.out.println(myList); ) )
Выход :
myList = (3, 2, 1)
ArrayList
Класс принадлежит java.util package
. Чтобы использовать его, мы должны сначала импортировать пакет с помощью import
оператора.
import java.util.ArrayList;
Пользовательский пакет
Java также позволяет создавать пакеты в соответствии с вашими потребностями. Эти пакеты называются пользовательскими пакетами.
Как определить пакет Java?
Чтобы определить пакет в Java, вы используете ключевое слово package
.
package packageName;
Java использует каталоги файловой системы для хранения пакетов. Давайте создадим файл Java внутри другого каталога.
Например:
└── com └── test └── Test.java
Теперь отредактируйте файл Test.java и в начале файла напишите инструкцию пакета как:
пакет com.test;
Здесь любой класс, объявленный в каталоге test, принадлежит пакету com.test .
Вот код:
пакет com.test; class Test (public static void main (String () args) (System.out.println ("Hello World!");))
Выход :
Привет мир!
Здесь класс Test теперь принадлежит пакету com.test .
Соглашение об именах пакетов
Имя пакета должно быть уникальным (например, доменное имя). Следовательно, существует соглашение о создании пакета как доменного имени, но в обратном порядке. Например, com.company.name
Здесь каждый уровень пакета - это каталог в вашей файловой системе. Как это:
└── com └── company └── name
И нет никаких ограничений на то, сколько подкаталогов (иерархии пакетов) вы можете создать.
Как создать пакет в Intellij IDEA?
В IntelliJ IDEA можно создать пакет следующим образом:
- Щелкните правой кнопкой мыши исходную папку.
- Перейти к новому, а затем упаковать .
- Появится всплывающее окно, в котором вы можете ввести имя пакета.
После создания пакета аналогичная структура папок будет создана и в вашей файловой системе. Теперь вы можете создавать классы, интерфейсы и т. Д. Внутри пакета.

Как импортировать пакеты в Java?
В Java есть import
инструкция, позволяющая импортировать весь пакет (как в предыдущих примерах) или использовать только определенные классы и интерфейсы, определенные в пакете.
The general form of import
statement is:
import package.name.ClassName; // To import a certain class only import package.name.* // To import the whole package
For example,
import java.util.Date; // imports only Date class import java.io.*; // imports everything inside java.io package
The import
statement is optional in Java.
If you want to use class/interface from a certain package, you can also use its fully qualified name, which includes its full package hierarchy.
Here is an example to import a package using the import
statement.
import java.util.Date; class MyClass implements Date ( // body )
The same task can be done using the fully qualified name as follows:
class MyClass implements java.util.Date ( //body )
Example: Package and importing package
Suppose, you have defined a package com.programiz that contains a class Helper.
package com.programiz; public class Helper ( public static String getFormattedDollar (double value)( return String.format("$%.2f", value); ) )
Now, you can import Helper class from com.programiz package to your implementation class. Once you import it, the class can be referred directly by its name. Here's how:
import com.programiz.Helper; class UseHelper ( public static void main(String() args) ( double value = 99.5; String formattedValue = Helper.getFormattedDollar(value); System.out.println("formattedValue = " + formattedValue); ) )
Output:
formattedValue = $99.50
Here,
- the Helper class is defined in com.programiz package.
- класс Helper импортируется в другой файл. Файл содержит класс UseHelper.
getFormattedDollar()
Метод класса Helper вызывается внутри класса UseHelper.

В Java import
оператор пишется непосредственно после оператора пакета (если он существует) и перед определением класса.
Например,
пакет package.name; import package.ClassName; // импортируем только класс Class MyClass (// body)