Interfejsy w Javie | Wyjaśnione

Interfejsy w Javie | Wyjaśnione
W Javie interfejs jest niczym innym jak planem klasy i może mieć statyczne, stałe i abstrakcyjne metody. Jest bardzo podobny do klasy, ponieważ zmienne i metody mogą być tworzone również w interfejsach. Jednak główną różnicą jest to, że interfejs może mieć tylko stałe pola/zmienne, metody abstrakcyjne i nie możemy utworzyć obiektu interfejsu. W Javie klasa abstrakcyjna może mieć jedną lub więcej metod abstrakcyjnych podczas interfejsu, domyślnie wszystkie metody będą abstrakcyjne.

Ten zapis zapewni szczegółowe zrozumienie następujących pojęć dotyczących interfejsów Java:

  • Co to jest interfejs w Javie
  • Podstawowa składnia interfejsu w Javie
  • Dlaczego warto korzystać z interfejsu
  • Jak zaimplementować interfejs w Javie
  • Jak zaimplementować wiele interfejsu w Javie

A więc zacznijmy!

Co to jest interfejs

Interfejs to szablon klasy, która składa się z abstrakcyjnych metod i stałych pól. Abstrakcję danych można osiągnąć za pomocą interfejsów Java. Interfejsy Java mają tylko podpis (deklaracja) metod i zostaną zdefiniowane w zaimplementowanej klasie.

Składnia

Podstawowa składnia interfejsu zawiera słowo kluczowe „interfejsu”, a następnie nazwa interfejsu:

interfejs interfacename
// stałe pola/deklaracja zmiennej
// Deklaracja metod abstrakcyjnych

Interfejs Java może być zaimplementowany w klasie z pomocą "przybory" Słowo kluczowe:

klasa klasowa implementuje interfacename
// Zdefiniuj metody interfejsu tutaj

Dlaczego interfejs

Funkcje poniżej na liście stanowią główne powody korzystania z interfejsu w Javie:

  • Abstrakcję można osiągnąć za pomocą interfejsu.
  • Wielokrotność można wykonać za pomocą interfejsów.
  • Luźne sprzężenie (niezależność klasy) można osiągnąć za pomocą interfejsu.

Jak zaimplementować interfejs w Javie

Najlepszym sposobem zrozumienia koncepcji jest eksperymentowanie z nią, więc rozważmy kilka przykładów, które wyjaśniają, jak wdrożyć interfejs w Javie.

Przykład

W tym przykładzie tworzymy interfejs o nazwie "Osoba" i klasa nazwana „InterfaceExamples”. „InterfaceExamples” Klasa implementuje interfejs "Osoba":

Osoba.Jawa

interfejs person
int person_age = 32;
String person_name = "John";
public void displayinfo ();

Powyższy fragment kodu tworzy interfejs, a w korpusie interfejsu, dwa stałe pola i funkcja o nazwie „DisplayInfo ()” są zadeklarowane:

W powyższym fragmencie śledziliśmy konwencję ciągłego nazewnictwa (i.mi. Wielki poziom) jednak jeśli nie będziemy przestrzegać konwencji nazewnictwa, domyślnie te pola będą uważane za stałe pola w interfejs.

Interfejs.Jawa

interfejs klasy publicznej Emuluje osobę
public void displayinfo ()
System.na zewnątrz.println („Nazwa osoby:” + nazwa_person);
System.na zewnątrz.println („Osoba wiek:” + person_age);

public static void main (string [] args)
InterfaceExamples exp = new InterfaceExamples ();
do potęgi.displayInfo ();

Powyższy fragment pokazuje, że Interfejs klasa implementuje Osoba Interfejs:

w Interfejs klasa definiujemy displayInfo () metoda, a następnie w obrębie główny Metoda stworzyliśmy obiekt klasy Interfejs i wreszcie dzwoni displayInfo () Metoda z pomocą obiektu klasowego:

Wyjście weryfikuje, że Osoba interfejs jest pomyślnie zaimplementowany w Interfejs klasa.

Jak wdrożyć wiele interfejsów w Javie

Java nie popiera koncepcji wielokrotnego dziedziczenia, aby uniknąć dwuznaczności, co oznacza w Javie, klasa nie może odziedziczyć właściwości wielu superklasy. Jednak klasa może w rezultacie wdrażać wiele interfejsów, można osiągnąć wiele dziedzictwa za pomocą interfejsów.

Przykład

W poniższym fragmencie fragmentu klasa zaimplementuje wiele interfejsów:

Osoba.Jawa

interfejs person
int person_age = 32;
String person_name = "John";
public void personinfo ();

Interfejs osoby deklaruje dwie stałe i metodę Personinfo ().

Pracownik.Jawa

Pracownik interfejsu
public void employeInfo (nazwa ciągu);

Interfejs pracownika deklaruje metodę EmployeInfo () który wymaga parametru.

Interfejs.Jawa

interfejs klasy publicznej Emuluje osobę, pracownik
public void personinfo ()
System.na zewnątrz.println („Nazwa osoby:” + nazwa_person);
System.na zewnątrz.println („Osoba wiek:” + person_age);

public void employeInfo (Nazwa ciągu)
System.na zewnątrz.println („Nazwa pracownika:” + nazwa);

public static void main (string [] args)
InterfaceExamples exp = new InterfaceExamples ();
do potęgi.Personinfo ();
do potęgi.Pracownik („Michael”);

Poniższy zrzut ekranu zawiera pełny kod wraz z wyjściem:

Wyjście weryfikuje, że oba Osoba I Pracownik Interfejsy są wdrażane pomyślnie.

Wniosek

Interfejsy Java mają abstrakcyjne metody i stałe pola. Domyślnie zmienne/pola są publiczne, statyczne i ostateczne, podczas gdy metody/funkcje są abstrakcyjne i publiczne. W Javie ani obiekt interfejsu nie można utworzyć, ani konstruktor. Metody/funkcje interfejsu zostaną zdefiniowane w klasie, która implementuje interfejs. Klasa może wdrożyć kilka interfejsów, a zatem może osiągnąć funkcjonalność wielokrotności.

Ten zapis przedstawia szczegółowy przegląd tego, co jest interfejsem i jak zaimplementować interfejs w klasie w Javie.