Разница между пакетом и интерфейсом в Java

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

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

СОДЕРЖАНИЕ

1. Обзор и основные отличия
2. Что такое пакет в Java
3. Что такое интерфейс в Java
4. Сравнение бок о бок - пакет против интерфейса в Java в табличной форме
5. Резюме

Что такое пакет в 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;

Оператор ниже импортирует все классы в пакете утилит.

импорт java.util. *;

Также возможно создание пользовательских пакетов.

пакетный работник;

Public Class Employee

В соответствии с приведенным выше примером, сотрудник является именем пакета. Класс Employee является частью пакета сотрудников. Этот файл сохраняется как Employee.java в пакет сотрудника.

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

Рисунок 01: Класс А

Рисунок 02: Класс B

Класс A находится в пакете 1 и содержит открытый метод display. Класс B находится в пакете 2 и содержит метод main. Даже если они находятся в отдельных пакетах; класс B может создать объект класса A путем импорта package1. После импорта пакета 1 класс B получает доступ к данным и методам класса A.

В целом, Package in 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: Основной метод

Теперь в методе main можно создать объект C и вызвать оба метода. Аналогично, интерфейсы помогают реализовать множественное наследование в Java..

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

В чем разница между пакетом и интерфейсом в Java?

Пакет - это группа связанных классов, которые обеспечивают защиту доступа и управление пространством имен. Интерфейс - это ссылочный тип, аналогичный классу, который представляет собой набор абстрактных методов. Пакет помогает систематически классифицировать классы для легкого доступа и поддержки. С другой стороны, интерфейс помогает реализовать множественное наследование и добиться абстракции. Это основное отличие между Пакетом и Интерфейсом в Java. Кроме того, способ написания пакета состоит из строчных букв, таких как java.util, java.awt. Если имя интерфейса является Area, то оно написано в, Интерфейс Area.

Резюме - Пакет против интерфейса в Java

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

Ссылка:

1. Учебное пособие. «Пакеты Java» Учебное пособие, 24 марта 2018. Доступно здесь 
2. Учебное пособие. «Интерфейсы Java» Учебное пособие, 24 марта 2018. Доступно здесь