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

Съдържание:

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

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

Видео: Разлика между пакет и интерфейс в Java
Видео: Java Абстрактный класс VS Интерфейс 2024, Ноември
Anonim

Ключовата разлика между Package и Interface в Java е, че Package помага за методичното категоризиране на класовете за лесен достъп и поддръжка, докато Interface помага за прилагането на множество наследявания и за постигане на абстракция.

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 в пакета на служителите.

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

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

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

Разлика между пакет и интерфейс в Java_Фигура 2
Разлика между пакет и интерфейс в Java_Фигура 2
Разлика между пакет и интерфейс в Java_Фигура 2
Разлика между пакет и интерфейс в Java_Фигура 2

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

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

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

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

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

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

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

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

Разлика между пакет и интерфейс в Java_Фигура 3
Разлика между пакет и интерфейс в Java_Фигура 3
Разлика между пакет и интерфейс в Java_Фигура 3
Разлика между пакет и интерфейс в Java_Фигура 3

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

Разлика между пакет и интерфейс в Java_Фигура 4
Разлика между пакет и интерфейс в Java_Фигура 4
Разлика между пакет и интерфейс в Java_Фигура 4
Разлика между пакет и интерфейс в Java_Фигура 4

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

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

Разлика между пакет и интерфейс в Java_Фигура 5
Разлика между пакет и интерфейс в Java_Фигура 5
Разлика между пакет и интерфейс в Java_Фигура 5
Разлика между пакет и интерфейс в Java_Фигура 5

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

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

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

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

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

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

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

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

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

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

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

Препоръчано: