Інтерфейс в 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, які мають методи з однаковою назвою, але різним типом повернення.

Основна інформація:

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