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

Автор: Laura McKinney
Дата На Създаване: 2 Април 2021
Дата На Актуализиране: 3 Юли 2024
Anonim
Разница между Core JAVA и Advanced JAVA
Видео: Разница между Core JAVA и Advanced JAVA

Съдържание


Пакетите и интерфейсите действат като контейнер. Съдържанието в пакети и интерфейси може да се използва от класовете, като го импортира и приложи съответно. Основната разлика между пакетите и интерфейсите е, че пакетът съдържа група класове и интерфейси, докато интерфейсът съдържа методи и полета. Нека да изучим някои други разлики с помощта на сравнителна диаграма.

  1. Сравнителна диаграма
  2. дефиниция
  3. Ключови разлики
  4. заключение

Сравнителна диаграма

Основа за сравнениеПакетиИнтерфейси
ОсновенПакетите са група от класове и / или интерфейси заедно.Интерфейсите са група от абстрактни методи и постоянни полета.
Ключова думаПакетите се създават с помощта на ключовата дума "Пакет".Интерфейсът се създава с помощта на ключова дума "Интерфейс".
Синтаксисиме на пакета;
публичен клас class_name {
.
(тяло на класа)
.
}
интерфейс_име на интерфейс {
променлива декларация;
декларация за метод;
}
достъпМоже да се импортира пакет Интерфейсът може да бъде разширен от друг интерфейс и реализиран от класа.
Достъп до ключова дума Пакетите могат да бъдат импортирани с помощта на ключова дума "import".Интерфейсите могат да бъдат реализирани с помощта на ключова дума „внедряване“.


Определение на пакетите

Пакетите са колекция или групи от разнообразието от класове и интерфейси. Класовете в пакети са свързани помежду си в някакъв обхват или по наследство. Можете също да създадете вашия пакет и да го използвате за вашата програма.

Създаване на пакет

За да създадете пакет, просто следвайте следните стъпки.

  1. Отворете файл и след това декларирайте името на пакета в горната част на файла, като името на пакета е името, което искате да дадете на пакета.
  2. След това определяте клас, който искате да поставите в пакета, и не забравяйте, че го декларирате публично.
  3. Запишете файла като .java файл и след това компилирайте файла, след това „.class“ се получава за този файл.
  4. За да създадете пакет за този файл, използваната команда е „javac -d. file_name.java. Можете да видите, че пакетът е създаден, съдържащ ".class" файл в текущата директория. За да го поставите в родителската директория, използвайте „javac -d. , команда file_name.java ”.
  5. Можете също да създадете подпакет, като декларирате името на подпакета, както в горната част на файла.

пакет Mypackage; обществен клас myclass {public void displayMypackage () {system.out.ln ("метод displayMypackage на клас клас myclass на пакет Mypackage"); }

Използване на пакета


Пакетите, създадени или налични в директорията, могат да се използват в програмата с помощта на инструкция за импортиране. Ключовата дума, използвана за импортиране на всеки пакет във вашата програма, е „импортиране“. Декларацията за импортиране може да бъде написана по два начина или можете да кажете, че има два начина за достъп до всеки пакет. Първо, ако искате да използвате определен клас от пакет, ключовата дума „import“ е последвана от името на пакета, последвано от оператора на точки и името на класа, което искате да използвате от пакета. Второ, ако искате да използвате много класове, които се съдържат в пакетите, тогава ключовата дума за импортиране е последвана от името на пакета, последвано от точка и оператора ”*”.

импортиране на име на пакет. CLASS_NAME; или импортиране на име на пакет. *;

В горния код можете да видите знак *, който показва, че втори метод импортира всички класове, съдържащи се в пакетите.

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

импортиране на Mypackage. myclass {class TestMypackage {public static void main (string args) {myclass ob1 = new myclass (); ob1.displayMypackage (); }} // изходен метод displayMypackage на клас клас myclass на пакет Mypackage.

В горния код клас TestMypackage импортира пакета Mypackage и използва метода му displayMypackage ().

Дефиниция на интерфейс

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

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

зона на интерфейса {float pi = 3.14; float find_area (float a, float b) {} клас Кръг изпълнява Area {float find_area (float a, float b) {return (pi * a * a); } Класови форми {public static void main (string args) {Area A = new Area (); Кръг С = нов кръг (); А = С; float F = Площ. find_area (10,10); system.out.ln ("Площта на кръга е:" + F); }

В горния код бяхме създали интерфейс Area и клас Circle е реализирал интерфейса Area. Полето „pi“ е инициализирано в интерфейса в момента на декларирането му. Класът Circle е дефинирал абстрактния метод на областта на класа в съответствие с неговото изискване.

  1. Пакетът е група от класове и интерфейси заедно, докато интерфейсът е група от абстрактни методи.
  2. Пакетът се създава с помощта на ключова дума пакет като има предвид, че се създава интерфейс с помощта на ключова дума интерфейс.
  3. Ако трябва да се използва клас или интерфейс вътре в пакета, пакетът трябва да бъде импортиран, докато интерфейсът трябва да бъде реализиран.

Заключение:

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