veröffentlicht am: 11.06.2022 zuletzt aktualisiert am: 19.04.2023
Vielleicht hast Du schon einmal einen Geldautomaten benutzt, um eine Einzahlung zu tätigen oder Geld abzuheben, ein Konto abzufragen oder Bargeld zu überweisen. In all diesen Szenarien fungiert ein Geldautomat als Medium zwischen Dir und Deinem Bankkonto und verbirgt Deine privaten Details vor anderen.
In ähnlicher Weise stellt eine „Schnittstelle“ (das sogenannte Java Interface) eine Verbindung zwischen zwei Softwarekomponenten in einer Java Anwendung her. Anfänger verwenden in ihren Programmen oft Java Schnittstellen, wissentlich oder unwissentlich. Das Verständnis der Funktionsweise und Anwendung von Java Schnittstellen hat jedoch seine eigene Bedeutung.
In diesem Beitrag des großen Java lernen Tutorials werden wir die Verwendung der Java Schnittstelle behandeln. So, lass uns loslegen!
Eine Java Schnittstelle wird mit Hilfe des Schlüsselworts „interface“ erstellt. Sie ist von abstraktem Typ, der das Verhalten einer Klasse spezifiziert. In Java können Schnittstellen abstrakte Methoden und statische Konstanten (mehr über das Schlüsselwort Java static erfahren) enthalten, und die in einer Java Schnittstelle hinzugefügten Methoden sind alle implizit abstrakt und öffentlich. Außerdem können mehrere Java Schnittstellen in einer Klasse implementiert werden.
interface { // abstrakte Methoden }
Hier kannst Du die abstrakten Methoden in die erstellte „Schnittstelle“ einfügen.
Hier ist die Liste der Vorteile der Verwendung von Java Schnittstellen in einem Programm:
Bei der Implementierung von Java Schnittstellen gibt es einige Regeln, die beachtet werden müssen:
Ähnlich wie bei „abstrakten“ Klassen ist es Ihnen nicht erlaubt, ein Objekt (engl. Objects) vom Typ „Java Interface“ zu erstellen. Andere Klassen in einem Programm können es jedoch ohne weiteres implementieren. Dazu muss das Schlüsselwort „implements“ an den Namen einer Java Klasse angehängt werden.
Zunächst erstellen wir eine „Java Schnittstelle“ namens „erhalteWert„, die eine abstrakte Methode „getNummer()“ enthält:
interface erhalteWert{ void getNummer(int nummer); }
Dann fügen wir das Schlüsselwort „implements“ mit der Klasse „Quadrat“ hinzu. Diese Klasse „Quadrat“ wird die abstrakte Methode „getNummer()“ der Schnittstelle „erhalteWert()“ implementieren:
class Quadrat implements erhalteWert { public void getNummer(int nummer) { System.out.println("Das Quadrat der übermittelten Zahl ist: " + (nummer * nummer)); } public static void main(String[] args) { Quadrat x = new Quadrat(); x.getNummer(5); } }
Bei der Ausführung des oben genannten Programms wird die abstrakte Methode „getNummer()“ mit dem Objekt der Klasse „Quadrat“ aufgerufen. Da die Zahl „5“ als Argument angegeben wird, gibt die Methode „getNummer()“ ihr Quadrat als „25“ zurück:
In diesem Beispiel erstellen wir eine „Java-Schnittstelle“ namens „sport“ mit einer abstrakten Methode „getName()„:
interface sport{ void getName(String name); }
Die abstrakte Methode „getName()“ der Schnittstelle „sport“ wird in der „outDoorClass()“ mit dem Schlüsselwort „implements“ implementiert:
class outDoorSport implements sport{ public void getName(String name) { System.out.println("outDoorSport: " + name); }
Zum Schluss erstellen wir ein Objekt der Klasse „outDoorSport“ mit dem Namen „s1„, um die abstrakte Methode „getName()“ der Schnittstelle „sport“ aufzurufen:
public static void main(String[] args) { outDoorSport s1= new outDoorSport(); s1.getName("Hockey"); } }
Im Konsolenfenster wird die Methode „s1.getName()“ den Wert des übergebenen Arguments „Hockey“ ausgeben:
Schauen wir uns nun die Implementierung von “Multiple Java Interfaces“ an.
Das Verfahren zur Implementierung mehrerer Schnittstellen ist dasselbe wie im vorherigen Abschnitt beschrieben. Der einzige Unterschied besteht darin, dass man die Schnittstellen mit einem Komma „,“ trennen muss, während man sie mit dem Schlüsselwort „implements“ (engl. implements Keyword) angibt.
Im folgenden Programm erstellen wir zwei Java Schnittstellen mit den Namen „Fisch“ und „Saeugetier„, wobei die Schnittstelle „Fisch“ eine abstrakte „ersteMethode()“ und die Schnittstelle „Saeugetier“ eine „zweiteMethode()“ enthält:
interface Fisch { public void ersteMethode(); } interface Saeugetier { public void zweiteMethode(); }
Um die abstrakte Methode der beiden Java Schnittstellen in der Klasse „Test“ zu implementieren, verwenden wir das Schlüsselwort „implement“ und geben die Namen der Schnittstellen mit einem Komma getrennt an. Danach fügen wir die Definition der beiden Methoden in die Klasse „Test“ ein:
// Methodendeklarationen class Test implements Fisch, Saeugetier { public void ersteMethode() { System.out.println("Ein Delphin ist ein Fisch."); } public void zweiteMethode() { System.out.println("Ein Delphin ist ein Säugetier."); }
Zum Schluss erstellen wir ein Objekt der Klasse „Test“ und rufen die „ersteMethode()“ und „zweiteMethode()“ (Interface Methods) auf:
public static void main(String[] args) { Test d = new Test(); d.ersteMethode(); d.zweiteMethode(); } }
Die Ausgabe des gegebenen Programms wird die folgenden Zeilen im Konsolenfenster ausgeben:
Wenn Du ein Einsteiger bist, musst Du den Unterschied zwischen einer Java Schnittstelle und einer Java Klasse verstehen. Schau Dir dazu die untenstehende Vergleichstabelle von Java Interface vs. Java Class an. Übrigens, das Java Set ist auch ein Interface!
Das waren alle wesentlichen Informationen über die Verwendung von Java Schnittstellen. Du kannst je nach Bedarf noch weiter recherchieren.
Eine Java Schnittstelle wird mit dem Schlüsselwort „interface“ erstellt. Sie ist ein abstrakter Typ, der das Verhalten einer Klasse spezifiziert. In Java können Schnittstellen abstrakte Methoden und statische Konstanten umfassen, und die in eine Java Schnittstelle eingefügten Methoden sind alle implizit abstrakt und öffentlich. Außerdem können mehrere Java Schnittstellen in einer Klasse implementiert werden. In diesem Beitrag wurde die Funktionalität von Java Schnittstellen anhand geeigneter Beispiele erläutert.
😩 Gelangweilt von den Udemy & YouTube-Tutorials?!
Lerne spielerisch Java und komme deiner gutbezahlten (und an der 🌴 liegenden) Traumkarriere einen Schritt weiter.
"Für Leute die gerne Python oder Java lernen wollen ist Codegree klasse. Ist nicht wie bei anderen Konkurrenten auf Videokursen aufgebaut..."
- Lennart Sparbier
100% kostenlos registrieren · keine Kreditkarte notwendig
Im Gegensatz zu der Abendschule oder der alteingesessenen Uni lernst du bei codegree die Sprachen & Pakete, die wirklich im Jobmarkt gesucht werden.
100% kostenlos registrieren · keine Zahlungsdaten notwendig