Ключевое различие между пакетом и интерфейсом в Java заключается в том, что пакет помогает методично классифицировать классы для доступа к ним и их легкого обслуживания, в то время как интерфейс помогает реализовать множественное наследование и достичь абстракции.
Java - один из самых популярных языков программирования. Основное преимущество Java заключается в том, что он поддерживает объектно-ориентированное программирование. Эта методология позволяет моделировать объекты реального мира в программном обеспечении. Класс - это схема создания объекта. Каждый объект содержит данные или поля для описания атрибутов или свойств и методов для описания поведения. В этой статье обсуждаются две концепции, связанные с ООП в Java в Java: пакет и интерфейс.
Что такое пакет в Java?
Java предоставляет большое количество классов. Хранить все классы в одной папке может быть сложно, потому что к ней трудно получить доступ. Это может повлиять на управляемость программы. Java использует пакеты для организации классов. Это похоже на папку. Java API группирует классы в разные пакеты в соответствии с функциональностью. Таким образом, каждый пакет содержит связанный набор классов.
Пример пакетов в Java
Несколько примеров пакетов: Пакет java.io содержит классы поддержки ввода и вывода. Он включает в себя File, PrintStream, BufferInputStream и т. д. Пакет java.net содержит классы, связанные с сетью. Некоторые примеры: URL, Socket, ServerSocket. Пакет java.awt содержит все классы, необходимые для создания графических пользовательских интерфейсов. Это несколько пакетов Java API.
Когда программист хочет использовать определенный класс в программе, он должен импортировать этот пакет. Если программист хочет использовать класс BufferInputStream в пакете java.io, он должен написать оператор импорта следующим образом.
import java.util. BufferInoutStream;
Следующий оператор импортирует все классы из пакета util.
импорт java.util.;
Также можно создавать пользовательские пакеты.
сотрудник пакета;
общественный класс Сотрудник {
}
Согласно приведенному выше примеру, сотрудник - это имя пакета. Класс Employee является частью пакета employee. Этот файл сохраняется как Employee.java в пакете сотрудников.
Кроме того, можно импортировать публичный класс из одного пакета в другой. См. следующий пример.
Рисунок 01: Класс A
Рисунок 02: Класс B
Класс A находится в пакете 1 и содержит публичный метод display. Класс B находится в пакете 2 и содержит основной метод. Даже если они находятся в отдельных пакетах; класс B может создать объект класса A, импортировав package1. После импорта пакета 1 класс B имеет доступ к данным и методам класса A.
В целом, Package в Java помогает организовать файлы проекта. Это очень полезно при разработке большой системы, поскольку позволяет систематически хранить все файлы. Кроме того, пакеты Java API позволяют программистам использовать уже существующие классы.
Что такое интерфейс в Java?
Иногда программист может не знать определение метода. В этих ситуациях программист может только объявить метод. Абстрактный метод - это метод, не имеющий определения. Есть только декларация. Когда есть хотя бы один абстрактный метод, этот класс становится абстрактным классом. Более того, абстрактный класс может содержать как абстрактные, так и неабстрактные методы. Программист не может создавать объекты из абстрактных классов.
Когда класс расширяет абстрактный класс, новый класс должен определять все абстрактные методы в абстрактном классе. Другими словами, предположим, что абстрактный класс A имеет абстрактный метод, называемый display. Класс B расширяет класс A. Затем класс B должен определить отображение метода.
Пример интерфейса в Java
Предположим, что и A, и B являются абстрактными классами. Если класс C расширяет A и B, этот класс C должен определить абстрактные методы обоих классов. Это множественное наследование. Java не поддерживает множественное наследование. Для его реализации программист должен использовать интерфейсы. Если A и B являются интерфейсами, то класс C может их реализовать. См. следующий пример.
Рисунок 03: Интерфейс A
Рисунок 04: Интерфейс B
Интерфейс A имеет абстрактный метод display1, а интерфейс B имеет абстрактный метод display2.
Рисунок 05: Класс C
Класс C реализует интерфейсы A и B. Следовательно, он должен определять оба метода.
Рисунок 06: Основной метод
Теперь в основном методе можно создать объект C и вызвать оба метода. Точно так же интерфейсы помогают реализовать множественное наследование в Java.
Помимо множественного наследования, интерфейсы помогают достичь абстракции. Это одна из основных концепций ООП. Абстракция позволяет скрыть детали реализации и показать пользователю только функциональность. Кроме того, это позволяет сосредоточиться на том, что делает объект, а не на том, как это делается. Поскольку интерфейс состоит из абстрактных методов, он помогает архивировать абстракцию.
В чем разница между пакетом и интерфейсом в Java?
Package - это группа связанных классов, которые обеспечивают защиту доступа и управление пространством имен. Интерфейс - это ссылочный тип, аналогичный классу, который представляет собой набор абстрактных методов. Пакет помогает методично классифицировать классы, чтобы легко получать к ним доступ и поддерживать их. С другой стороны, интерфейс помогает реализовать множественное наследование и достичь абстракции. Это основное различие между пакетом и интерфейсом в Java. Кроме того, способ написания пакета - строчными буквами, такими как java.util, java.awt. Если имя интерфейса Area, то оно записывается в интерфейсе Area.
Резюме – Пакет и интерфейс в Java
Разница между пакетом и интерфейсом в Java заключается в том, что пакет помогает методично категоризировать классы, чтобы легко получить к ним доступ и поддерживать их, в то время как интерфейс помогает реализовать множественное наследование и достичь абстракции.