Interfejs w Java z Przykładem

⚡ Inteligentne podsumowanie

Interfejs w Java jest abstractyp t określający zachowanie, które klasa musi zaimplementować, zawierający stałe i wartości bezwzględnetracMetody t. Ten zasób wyjaśnia, czym jest interfejs, dlaczego jest wymagany, jak go zadeklarować i zaimplementować oraz czym interfejsy różnią się od klas i abs.tract klasy.

  • 📜 Definicja: Interfejs określa zachowanie za pomocą abstracmetody i stałe, które muszą być dostarczane przez klasy implementujące.
  • 🔑 słowo kluczowe: Interfejsy deklaruje się za pomocą słowa kluczowego interface, a klasy używają implementacji, aby je przyjąć.
  • 🧩 Dziedziczenie wielokrotne: Klasa może implementować wiele interfejsów, rozwiązując Javabrak dziedziczenia wielu klas.
  • ⚖️. Klasa kontra interfejs: W przeciwieństwie do klas interfejsy nie mogą być tworzone i tradycyjnie przechowują tylko publiczne wartości abstracmetody t.
  • 🎯 Kiedy użyć: Użyj interfejsu, aby zdefiniować rolę dla niezwiązanych klas i abstracKlasa t dla szablonu współdzielonego.

Interfejs w Java

W czym jest interfejs Java?

An Interfejs w Java język programowania jest definiowany jako abstracTyp t używany do określenia zachowania klasy. A Java interfejs zawiera stałe statyczne i abstracMetody t. Klasa może implementować wiele interfejsów. W JavaInterfejsy są deklarowane za pomocą słowa kluczowego „interface”. Wszystkie metody w interfejsie są domyślnie publiczne i abs.tract.

Składnia deklarowania interfejsu

Aby użyć interfejsu w swojej klasie, dodaj słowo kluczowe „implements” po nazwie klasy, a następnie nazwę interfejsu.

interface {
   // methods
}

Przykład implementacji interfejsu

Teraz zrozumiemy interfejsy w Java z przykładem:

class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle

Kliknij w tym miejscu jeśli wideo nie jest dostępne.

Kliknij w tym miejscu jeśli film nie jest dostępny

Dlaczego wymagany jest interfejs?

Aby zrozumieć użycie interfejsu w Java lepiej, spójrzmy na Java Przykład interfejsu. Klasa „Odtwarzacz multimedialny” ma dwie podklasy: odtwarzacz CD i odtwarzacz DVD. Każda z nich ma własną, unikalną metodę implementacji interfejsu do odtwarzania muzyki.

Dlaczego wymagany jest interfejs

Inna klasa, „napęd Combo”, dziedziczy zarówno CD, jak i DVD (patrz ilustracja poniżej). Którą metodę odtwarzania powinien odziedziczyć? Może to powodować poważne problemy projektowe, a co za tym idzie, Java nie pozwala na wielokrotność dziedzictwo.

Dlaczego wymagany jest interfejs

Teraz rozważmy inny przykład psa.

Załóżmy, że masz wymaganie, w którym klasa „pies” dziedziczy klasy „zwierzę” i „zwierzę domowe” (patrz poniższy obrazek). Nie możesz jednak rozszerzyć dwóch klas w JavaCo więc byś zrobił? Rozwiązaniem jest interfejs.

Dlaczego wymagany jest interfejs

W regulaminie interfejsu napisano:

  • A Java interfejs jest w 100% abstracklasa t i ma tylko abstracmetody t.
  • Klasa może implementować dowolną liczbę interfejsów.

Klasa Pies może rozszerzyć klasę „Zwierzę” i zaimplementować interfejs „Zwierzę domowe”.

Dlaczego wymagany jest interfejs

Java Przykład interfejsu

Zrozumiemy poniższy program interfejsu w Java:

Krok 1) Skopiuj poniższy kod do edytora.

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();
  }
}

Krok 2) Zapisz, skompiluj i uruchom kod. Obserwuj wynik działania interfejsu w Java program.

Różnica między klasą a interfejsem

Klasa Interfejs
W klasie można tworzyć wystąpienia zmiennych i obiekty. W interfejsie nie można tworzyć instancji zmiennych ani obiektów.
Klasa może zawierać metody konkretne (z implementacją). Interfejs nie może zawierać metod konkretnych (z implementacją).
Specyfikatory dostępu używane w klasach to private, protected i public. W interfejsie używany jest tylko jeden specyfikator – public.

Kiedy stosować Interface i AbstracKlasa t?

  • Użyj mięśni brzuchatracKlasa t, gdy szablon musi zostać zdefiniowany dla grupy podklas.
  • Użyj interfejsu, gdy rola musi zostać zdefiniowana dla innych klas, bez względu na drzewo dziedziczenia tych klas.

Musisz znać fakty na temat interfejsu

  • A Java klasa może implementować wiele Java Interfejsy. Konieczne jest, aby klasa implementowała wszystkie metody zadeklarowane w interfejsach.
  • Klasa powinna nadpisywać wszystkie abstracmetody zadeklarowane w interfejsie.
  • Interfejs pozwala na wysłanie wiadomości do obiektu bez względu na to, do jakiej klasy on należy.
  • Klasa musi zapewniać funkcjonalność metod zadeklarowanych w interfejsie.
  • Wszystkie metody w interfejsie są domyślnie publiczne i abstract.
  • Nie można utworzyć instancji interfejsu.
  • Odwołanie do interfejsu może wskazywać na obiekty klas go implementujących.
  • Interfejs może rozszerzać jeden lub wiele interfejsów. Klasa może rozszerzać tylko jedną klasę, ale implementować dowolną liczbę interfejsów.
  • Interfejs nie może implementować innego interfejsu. W razie potrzeby musi rozszerzyć inny interfejs.
  • Interfejs zadeklarowany wewnątrz innego interfejsu nazywany jest interfejsem zagnieżdżonym.
  • W momencie deklaracji zmienna interfejsu musi zostać zainicjowana. W przeciwnym razie kompilator zgłosi błąd.
  • Klasa nie może implementować dwóch interfejsów w Java które mają metody o tej samej nazwie, ale innym typie zwracanym.

FAQ

Tak. Asystenci AI mogą tworzyć interfejsy i klasy implementujące na podstawie opisu w języku potocznym, w tym szczątków metod. Programiści powinni nadal weryfikować sygnatury metod, typy zwracane i zachowanie przed użyciem kodu.

Narzędzia AI analizują interfejsy, aby sugerować implementacje, wykrywać brakujące metody i zalecać czystsze abstraccje podczas refaktoryzacji. Przyspiesza to rozwój, a jednocześnieping baza kodu jest luźno powiązana i łatwiejsza do utrzymania.

Tak. Ponieważ Java 8. Interfejsy mogą obejmować metody domyślne i statyczne, które mają implementacje, oprócz abstract. Pozwala to na ewolucję interfejsów bez naruszania istniejących klas implementujących.

Interfejs znacznika nie zawiera żadnych metod. Sygnalizuje metadane do JVM lub kompilatora, dzięki czemu klasy implementujące są traktowane w sposób szczególny. Przykładami są Serializable i Cloneable w standardzie. Java biblioteka.

Podsumuj ten post następująco: