Різниця між пакетами та інтерфейсами на Java

Автор: Laura McKinney
Дата Створення: 2 Квітень 2021
Дата Оновлення: 10 Травень 2024
Anonim
Урок по Java 51: Сортировка коллекций и интерфейсы - Comparable и Comparator
Відеоролик: Урок по Java 51: Сортировка коллекций и интерфейсы - Comparable и Comparator

Зміст


І пакети, і інтерфейси обидва є контейнером. Вміст у пакунках та інтерфейсах можна використовувати класами, імпортуючи та реалізуючи їх відповідно. Основна різниця між пакетами та інтерфейсами полягає в тому, що пакет містить групу класів та інтерфейсів, тоді як інтерфейс містить методи та поля. Давайте вивчимо деякі інші відмінності за допомогою таблиці порівняння.

  1. Порівняльна діаграма
  2. Визначення
  3. Ключові відмінності
  4. Висновок

Порівняльна діаграма

Основа для порівнянняПакетиІнтерфейси
ОсновніПакети - це група класів та / або інтерфейсів разом.Інтерфейси - це група абстрактних методів і постійних полів.
Ключове словоПакети створюються за допомогою ключового слова "Пакет".Інтерфейс створюється за допомогою ключового слова "Інтерфейс".
Синтаксисім'я пакета_пакет;
public_ class_name {
.
(корпус класу)
.
}
ім'я інтерфейсу_файлу {
змінну декларацію;
декларація методу;
}
ДоступПакет можна імпортувати Інтерфейс може бути розширений іншим інтерфейсом і реалізований класом.
Доступ до ключового слова Пакети можна імпортувати за допомогою ключового слова "імпорт".Інтерфейси можуть бути реалізовані за допомогою ключового слова "implemen".


Визначення пакетів

Пакети - це колекція або групи різноманітних класів та інтерфейсів. Класи в пакунках пов'язані між собою в якійсь мірі або за спадщиною. Ви також можете створити свій пакет і використовувати його для своєї програми.

Створення пакету

Для створення пакету просто виконайте наступні кроки.

  1. Відкрийте файл, а потім оголосіть ім’я пакета у верхній частині файлу, як ім'я пакета - це ім'я, яке ви хочете дати пакету.
  2. Далі ви визначаєте клас, який хочете помістити в пакет, і пам’ятаєте, що ви оголосили його загальнодоступним.
  3. Збережіть файл у форматі .java, а потім компілюйте файл, тоді для цього файлу буде отримано ".class".
  4. Для створення пакету для цього файлу використовується команда “javac -d. file_name.java. Ви можете бачити, що пакет створений з файлом ".class" у поточному каталозі. Щоб розмістити його в батьківському каталозі, використовуйте „javac -d. . команда file_name.java ”.
  5. Ви також можете створити підпакет, оголосивши ім'я підпаку, як у верхній частині файлу.

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

Використання пакету


Пакети, створені або доступні в довіднику, можна використовувати в програмі, використовуючи заяву про імпорт. Ключове слово, яке використовується для імпорту будь-якого пакета у вашій програмі, є "імпорт". Заява про імпорт може бути написана двома способами, або ви можете сказати, що є два способи доступу до будь-якого пакету. По-перше, якщо ви хочете використовувати певний клас з пакету, за ключовим словом "імпорт" слідує ім'я пакета, далі йде оператор крапки та ім'я класу, яке ви хочете використовувати в пакеті. По-друге, якщо ви хочете використовувати багато класів, які містяться в пакетах, то за ключовим словом імпорту слідує ім'я пакета, за яким слідує крапка та оператор "*".

імпортувати ім'я пакета. class_name; або імпортувати ім'я пакета. *;

У наведеному вище коді ви можете бачити знак *, який вказує, що другий метод імпортує всі класи, що містяться в пакунках.

Тепер давайте розглянемо використання пакету на прикладі.

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

У наведеному вище коді клас TestMypackage імпортував пакет Mypackage і використав його метод displayMypackage ().

Визначення інтерфейсу

Інтерфейс є своєрідним класом, але відрізняється тим сенсом, що методи, оголошені в інтерфейсі, абстрактні, тобто методи лише декларуються, але не визначаються. Поля в інтерфейсі завжди публічні, статичні, остаточні. Поля повинні бути ініціалізовані під час декларації. Методи, оголошені інтерфейсом, визначаються класом, який реалізує цей інтерфейс відповідно до його вимог. Оскільки методи в інтерфейсі не виконують жодної функції, тому немає ніякого використання у створенні будь-якого об'єкта інтерфейсу. Отже, жоден об’єкт не може бути створений для інтерфейсу.

Інтерфейс також може успадковувати інший інтерфейс, але, клас, що успадковує такий інтерфейс, повинен також реалізовувати всі методи спадкового інтерфейсу. Оскільки поля ініціалізуються під час їх декларування в інтерфейсі, тому в інтерфейсі немає потреби конструктора, інтерфейс не містить конструктора. Давайте подивимось приклад створення та використання інтерфейсу.

область інтерфейсу {float pi = 3,14; float find_area (float a, float b) {} клас Коло реалізує область {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. Якщо слід використовувати клас або інтерфейс всередині пакету, пакунок повинен бути імпортований, тоді як інтерфейс повинен бути реалізований.

Висновок:

І пакети, і інтерфейс є контейнерами. Пакет зменшує розмір коду, оскільки ми просто імпортуємо клас, який буде використовуватися, а не знову визначати його.Тоді як інтерфейс зменшує плутанину, яка виникає під час багаторазового успадкування, оскільки у випадку множинних успадковань клас успадкування не повинен вирішувати, яке визначення методу він має успадковувати, а визначає власне.