Пакеты в Java и как их использовать?

Опубликовано: 2022-04-18

Пакеты в Java используются для группировки связанных классов, интерфейсов и подпакетов. Мы используем пакеты Java, чтобы избежать конфликтов имен, поскольку в двух разных пакетах могут быть два класса с одинаковыми именами. Кроме того, с пакетами Java упрощается поиск, размещение и использование интерфейсов, классов, аннотаций и перечислений.

Использование языка программирования Java для написания программного обеспечения включает множество отдельных классов, и имеет смысл только организовывать связанные классы и интерфейсы в пакеты. В некотором смысле, вы можете сравнить пакеты Java с папками на компьютере, которые мы используем для упорядочивания различных файлов и избавления от беспорядка в нашей работе.

В этом руководстве обсуждаются различные типы пакетов в Java и способы их использования.

Оглавление

Типы пакетов в Java

Пакеты в Java делятся на категории в зависимости от того, определяет их пользователь или нет. Два типа пакетов Java:

  • Встроенные пакеты
  • Пользовательские пакеты

1. Встроенные пакеты

Предопределенные или встроенные пакеты Java входят в состав Java Development Kit (JDK) и состоят из множества предопределенных классов и интерфейсов, являющихся частью API-интерфейсов Java. Вот некоторые из часто используемых встроенных пакетов в Java:

  • java.io: содержит классы для поддержки операций ввода/вывода.
  • java.lang: этот встроенный пакет импортируется автоматически и содержит классы языковой поддержки.
  • java.util: содержит служебные классы для реализации структур данных, таких как словарь и поддержка, связанный список, операции с датой и временем и т. д .
  • java.net: содержит классы, поддерживающие сетевые операции.

Мы должны использовать оператор import для импорта любых встроенных пакетов Java и использования содержащихся в нем классов.

Простой пример, демонстрирующий использование класса ArrayList пакета Java.util, выглядит следующим образом:

пакет Пример;

импортировать java.util.ArrayList;

класс встроенный пакет {

public static void main(String[] args) {

ArrayList<Integer> myList = новый ArrayList<>(3);

мойСписок.добавить(3);

мойСписок.добавить(2);

мойСписок.добавить(1);

System.out.println("В списке есть элементы: " + myList);

}

}

Выход:

В списке есть элементы: [3, 2, 1]

В приведенном выше примере Java.util.ArrayList Java — это пакет верхнего уровня, util — это подпакет, а ArrayList — это класс, присутствующий в подпакете util.

Импорт пакетов в Java

Как показано в предыдущем примере, в Java есть оператор импорта, который позволяет нам импортировать весь пакет или использовать только определенные интерфейсы и классы, определенные в пакете.

Общий синтаксис оператора импорта:

  • импортировать package.name.ClassName; //Импортирует только определенный класс
  • import package.name.* //Импортирует весь пакет

Например, импортируйте java.util.Date; импортирует только класс Date, тогда как import java.io.*; импортирует все, что содержит пакет java.io.

Однако оператор импорта в Java является необязательным, и если мы хотим использовать класс или интерфейс из определенного пакета, мы можем использовать его полное имя следующим образом:

класс MyClass реализует java.util.Date {

//тело

}

2. Пользовательские пакеты

Как видно из названия, определяемые пользователем пакеты создаются пользователем для группировки классов, интерфейсов и подпакетов.

Создание пользовательского пакета

Чтобы создать определяемый пользователем пакет в Java, мы выберем имя для нашего пакета и используем команду package в качестве начального оператора в исходном файле Java. В качестве примера мы создадим пакет с именем ExamplePackage, используя следующую инструкцию:

пакет ПримерПакета;

Оператор package указывает пакет, которому будут принадлежать определяемые нами классы. Если мы не используем оператор пакета, имена классов будут помещены в пакет по умолчанию в Java, у которого нет имени.

Изучите онлайн-курсы по разработке программного обеспечения от лучших университетов мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.

Создание класса в пакете Java

После того, как мы создали пакет, следующим шагом будет создание класса внутри пакета. Для этого мы объявим имя пакета в первом операторе программы, а затем включим класс как часть пакета.

Ниже приведена простая программа, показывающая, как создать класс в пакете Java. В данном примере мы создаем класс Calculate внутри пакета ExamplePackage.

пакет ПримерПакета;

открытый класс Вычислить {

открытый интервал добавить (int p, int q) {

возврат p+q;

}

public static void main (String args []) {

Вычислить объект = новый Вычислить();

System.out.println(obj.add(70, 12));

}

}

Выход: 82

Java хранит пакеты в каталогах файловой системы. Таким образом, указанная выше программа будет сохранена в файле с именем Calculate.java и в каталоге с именем ExamplePackage. Когда файл скомпилирован, Java создаст файл «.class» и сохранит его в каталоге ExamplePackage.

Теперь вы можете использовать пакет ExamplePackage в другой программе. Вот как:

импортировать ExamplePackage.Calculate;

демонстрация публичного класса {

public static void main (String args []) {

Вычислить объект = новый Вычислить();

System.out.println(obj.add(200, 523));

}

}

Выход: 723

В приведенном выше примере мы импортировали пакет ExamplePackage для использования класса Calculate. При импорте пакета как ExamplePackage.Calculate импортируется только класс Calculate. Однако, если у вас есть более одного класса внутри пакета ExamplePackage, вы можете использовать все классы пакета, используя следующий оператор импорта:

импортировать ПримерПакета.*;

Создание класса внутри пакета при импорте другого пакета

Чтобы создать класс внутри пакета при импорте другого пакета, мы начнем с объявления имени пакета, а затем импортируем другой пакет. Следующий пример демонстрирует то же самое:

пакет Другой пакет; //Объявление пакета

импортировать ExamplePackage.Calculate; //импорт пакета

Пример открытого класса{

public static void main (String args []) {

Вычислить объект = новый Вычислить();

System.out.println(obj.add(300, 700));

}

}

Выход: 1000

В приведенном выше примере мы объявляем пакет OtherPackage, импортируем класс Calculate из пакета ExamplePackage, а затем создаем класс Example.

Импорт класса с использованием полного имени

Мы можем избежать оператора импорта, используя полное имя. Использование полного имени делает доступным только объявленный класс пакета. Но нам нужно использовать полное имя каждый раз, когда мы обращаемся к классу или интерфейсу. Импорт класса с использованием полного имени удобен, когда два пакета имеют одно и то же имя класса.

Следующий пример иллюстрирует то же самое:

1. Рассчитать.java

пакет ПримерПакета;

открытый класс Вычислить {

общественное int добавить (int x, int y) {

вернуть х+у;

}

public static void main (String args []) {

Вычислить объект = новый Вычислить();

System.out.println(obj.add(20, 50));

}

}

2. Демо.java

пакет Другой пакет; //Объявление пакета

демонстрация публичного класса {

public static void main (String args []) {

ExamplePackage.Calculate obj = новый ExamplePackage.Calculate(); //Использование полного имени вместо импорта

System.out.println(obj.add(200, 100));

}

}

Выход: 300

В приведенном ниже примере мы использовали полное имя ExamplePackage.Calculate для создания его объекта вместо импорта пакета.

3. Подпакеты в Java

Теперь, когда у нас есть представление о пакетах Java и о том, как их создавать, давайте разберемся с концепцией подпакетов в Java.

Подпакет — это пакет внутри другого пакета, который используется для дальнейшей категоризации пакета. Другими словами, если мы создадим пакет, умноженный внутри пакета ExamplePackage, то умножение будет подпакетом. Таким образом, если мы хотим создать класс внутри этого подпакета, то подпакет должен иметь объявление в начале.

Следующая программа демонстрирует концепцию подпакета Java:

пакет ExamplePackage.multiply; // Объявление подпакета

открытый класс умножение {

целое произведение (целое р, целое д) {

возврат p*q;

}

}

Теперь, если мы хотим использовать класс Multiplication, мы можем:

  1. Импортируйте его с помощью оператора import ExamplePackage.multiply; или же
  2. используйте полное имя, например ExamplePackage.multiply.Multiplication obj = new ExamplePackage.multiply.Multiplication();

Путь вперед

Пакеты в Java могут быть либо встроенными пакетами, либо определяемыми пользователем и необходимы для лучшего доступа и управления кодом. Концепция пакетов Java имеет решающее значение для всех, кто занимается разработкой программного обеспечения.

UpGrad's Job-linked PG Certification in Software Engineering — это 5-месячная онлайн-программа, которая может помочь вам освоить навыки программирования и подготовиться к ролям в разработке программного обеспечения. Программа ориентирована на основные навыки, такие как Java, JavaScript, CSS3, HTML5 и т. д., и специально разработана для новичков, которые хотят научиться программировать.

Основные моменты программы:

  • Специализация в MERN/Cloud-Native
  • 500+ часов контента
  • 50+ живых сессий
  • 350+ часов практических занятий
  • Пять отраслевых проектов
  • 360-градусная поддержка обучения
  • Нетворкинг с экспертами отрасли

Подписаться сегодня и учитесь у лучших!

Что такое пакет и его виды?

Пакет — это набор связанных сущностей Java, таких как классы, подклассы, интерфейсы, аннотации и перечисления. Он также может содержать подпакеты. Пакеты в Java бывают двух типов — встроенные пакеты и пользовательские пакеты.

Почему мы используем пакеты в Java?

Мы используем пакеты в Java, чтобы предотвратить конфликты имен, упростить поиск, определение местоположения и использование классов, интерфейсов, аннотаций и перечислений, контролировать доступ и инкапсулировать данные.

Что такое доступ на уровне пакета в Java?

Доступ на уровне пакета в Java — это уровень доступа по умолчанию, предоставляемый Java, если модификатор доступа не указан. Роль модификаторов доступа состоит в том, чтобы ограничить доступ к классу, переменной или методу, к которому он применяется.