Інтерфейс в Java з прикладом
Що таке інтерфейс в Java?
An Інтерфейс в Java Мова програмування визначається як абстрактний тип, який використовується для визначення поведінки класу. А Java інтерфейс містить статичні константи та абстрактні методи. Клас може реалізувати декілька інтерфейсів. в Java, інтерфейси оголошуються за допомогою ключового слова interface. Усі методи в інтерфейсі неявно публічні та абстрактні.
Синтаксис для оголошення інтерфейсу
Щоб використовувати інтерфейс у своєму класі, додайте ключове слово «implements» після імені класу, а потім назву інтерфейсу.
interface { //methods }
Приклад реалізації інтерфейсу
Тепер давайте розберемося в інтерфейсі Java з прикладом:
class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle
Натисніть тут якщо відео недоступне
Чому потрібен інтерфейс?
Щоб зрозуміти використання інтерфейсу в Java краще, подивимося Java приклад інтерфейсу. Клас «Медіапрогравач» має два підкласи: програвач компакт-дисків і програвач DVD. Кожен із них має свою унікальну реалізацію інтерфейсу Java спосіб відтворення музики.
Інший клас «Combo drive» успадковує як CD, так і DVD (див. зображення нижче). Який метод гри він має успадкувати? Це може спричинити серйозні проблеми з дизайном. І отже, Java не допускає кількох спадкування.
Тепер візьмемо ще один приклад собаки.
Припустімо, у вас є вимога, коли клас «собака» успадковує класи «тварина» та «домашня тварина» (див. зображення нижче). Але ви не можете продовжити два класи Java. Так що б ти зробив? Рішення — інтерфейс.
У правилах щодо інтерфейсу сказано:
- A Java інтерфейс реалізації є 100% абстрактним класом і має лише абстрактні методи.
- Клас може реалізовувати будь-яку кількість інтерфейсів.
Клас Dog можна розширити до класу «Animal» і реалізувати інтерфейс як «Pet».
Java Приклад інтерфейсу:
Давайте розберемося з наведеною нижче інтерфейсною програмою Java:
Крок 1) Скопіюйте наступний код у редактор.
interface Pet{ public void test(); } class Dog implements Pet{ public void test(){ System.out.println("Interface Method Implemented"); } public static void main(String args[]){ Pet p = new Dog(); p.test(); } }
Крок 2) Збережіть, скомпілюйте та запустіть код. Спостерігайте за виходом інтерфейсу Java програма.
Різниця між класом та інтерфейсом
У класі ви можете створити екземпляр змінної та створити об’єкт. | В інтерфейсі ви не можете створити екземпляр змінної та створити об’єкт. |
Клас може містити конкретні (з реалізацією) методи | Інтерфейс не може містити конкретних (з реалізацією) методів |
Специфікатори доступу, які використовуються з класами, є приватними, захищеними та публічними. | В інтерфейсі використовується тільки один специфікатор - Public. |
Коли використовувати інтерфейс і абстрактний клас?
- Використовуйте абстрактний клас, коли необхідно визначити шаблон для групи підкласів
- Використовуйте інтерфейс, коли потрібно визначити роль для інших класів, незалежно від дерева успадкування цих класів
Повинен знати факти про інтерфейс
- A Java клас може реалізувати декілька Java Інтерфейси. Необхідно, щоб клас реалізовував усі методи, оголошені в інтерфейсах.
- Клас має перевизначати всі абстрактні методи, оголошені в інтерфейсі
- Інтерфейс дозволяє відправляти повідомлення об'єкту, не дивлячись на те, до якого класу він належить.
- Клас повинен забезпечувати функціональність для методів, оголошених в інтерфейсі.
- Усі методи в інтерфейсі є неявно відкритими та абстрактними
- Інтерфейс не може бути створений
- Посилання на інтерфейс може вказувати на об'єкти його реалізуючих класів
- Інтерфейс може поширюватися з одного або багатьох інтерфейсів. Клас може розширювати лише один клас, але реалізовувати будь-яку кількість інтерфейсів
- Інтерфейс не може реалізувати інший інтерфейс. Він має розширити інший інтерфейс, якщо це необхідно.
- Інтерфейс, який оголошено всередині іншого інтерфейсу, називається вкладеним інтерфейсом
- Під час оголошення змінна інтерфейсу має бути ініціалізована. Інакше компілятор видасть помилку.
- Клас не може реалізувати два інтерфейси в Java, які мають методи з однаковою назвою, але різним типом повернення.
Основна інформація:
- Клас, який реалізує інтерфейс, повинен забезпечити функціональність для методів, оголошених в інтерфейсі
- Усі методи в інтерфейсі є неявно відкритими та абстрактними
- Інтерфейс не може бути створений
- Посилання на інтерфейс може вказувати на об'єкти його реалізуючих класів
- Інтерфейс може поширюватися з одного або багатьох інтерфейсів. Клас може розширювати лише один клас, але реалізовувати будь-яку кількість інтерфейсів