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

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

Java е един от най-популярните езици за програмиране. Основното предимство на Java е, че поддържа обектно ориентирано програмиране. Тази методология позволява моделиране на реалните обекти в софтуера. Класът е план за създаване на обект. Всеки обект съдържа данни или полета за описание на атрибутите или свойствата и методите за описание на поведението. Тази статия разглежда две концепции, свързани с OOP в 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;

По-долу оператор ще импортира всички класове в пакета util.

import java.util. *;

Възможно е също да се създават потребителски пакети.

служител на пакета;

служител в публична класа

Според горния пример служителят е името на пакета. Класът Служител е част от пакета на служителите. Този файл се записва като Employee.java в пакета на служителите.

Освен това е възможно да се импортира публичен клас от един пакет в друг. Вижте следния пример.

Фигура 01: Клас А

Фигура 02: Клас Б

Клас А е в пакет 1 и съдържа публичния метод, наречен display. Клас В е в пакет 2 и съдържа основния метод. Въпреки че са в отделни пакети; клас В може да създаде обект от клас А чрез импортиране на пакет1. След импортирането на пакет 1, клас B има достъп до данните и методите от клас A.

Като цяло, пакетът в Java помага да се организират файловете на проекта. Това е много полезно при разработване на голяма система, тъй като позволява съхраняването на всички файлове по методичен начин. В допълнение към това, пакетите Java API позволяват на програмистите да използват вече съществуващи класове.

Какво е интерфейс в Java?

Понякога програмистът може да не знае дефиницията на метода. В тази ситуация програмистът може да декларира само метода. Абстрактният метод е метод, който няма определение. Има само декларацията. Когато има поне един абстрактен метод, този клас става абстрактен клас. Освен това абстрактният клас може да съдържа абстрактни методи, както и нео-абстрактни методи. Програмистът не може да създава обекти от абстрактни класове.

Когато клас разширява абстрактен клас, новият клас трябва да дефинира всички абстрактни методи в абстрактния клас. С други думи, приемете, че абстрактният клас A има абстрактен метод, наречен дисплей. Клас B разширява клас А. Тогава клас B трябва да определи дисплея на метода.

Пример за интерфейс в Java

Да приемем, че и A, и B са абстрактни класове. Ако клас C разширява A и B, този клас C трябва да дефинира абстрактните методи на двата класа. Това е многократно наследяване. Java не поддържа множество наследявания. За да го приложи, програмистът трябва да използва интерфейси. Ако A и B са интерфейси, тогава клас C може да ги реализира. Вижте следния пример.

Фигура 03: Интерфейс A

Фигура 04: Интерфейс B

Интерфейсът A има методът display1 абстракт, а интерфейсът B - методът display2.

Фигура 05: Клас С

Клас C реализира интерфейси A и B. Следователно, той трябва да определи и двата метода.

Фигура 06: Основен метод

Сега в основния метод е възможно да се създаде обект на C и да се извикат и двата метода. По същия начин интерфейсите помагат за реализиране на множество наследявания в Java.

Освен многократното наследяване, интерфейсите помагат за постигане на абстракция. Това е една основна концепция в OOP. Абстракцията позволява да се скрият подробностите за внедряването и да се покаже само функционалността на потребителя. Освен това позволява да се съсредоточите върху това, което обектът прави, вместо върху това как е направено. Тъй като интерфейс се състои от абстрактни методи, той помага за архивиране на абстракцията.

Каква е разликата между пакета и интерфейса в Java?

Пакетът е група от свързани класове, които осигуряват защита на достъпа и управление на пространството от имена. Интерфейсът е референтен тип, подобен на класа, който представлява колекция от абстрактни методи. Пакетът помага да се категоризират класовете методично за достъп и поддържане до тях. От друга страна, интерфейсът помага да се реализират множество наследства и да се постигне абстракция. Това е основната разлика между пакета и интерфейса в Java. Освен това начинът да напишете пакет е с малки букви като java.util, java.awt. Ако името на интерфейса е Area, тогава е написано в, Area area.

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

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

справка:

1.Учебни точки. „Java пакети.“ Точка за уроци, 24 март 2018 г. Достъпно тук 
2.Учебен пункт. „Java интерфейси.“ Точка за уроци, 24 март 2018 г. Достъпно тук