Java Interface: Alles über die Java Schnittstelle

    Avatarbild von Dr.-Ing. Soner Emec
    Dr.-Ing. Soner Emec

    veröffentlicht am: 11.06.2022
    zuletzt aktualisiert am: 19.04.2023

    Java Interface: Der große Guide über die Java Schnittstellen!

    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!

    Java Schnittstelle: Die Grundlage vom Java Interface

    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.

    Syntax

    interface {
    // abstrakte Methoden
    }

    Hier kannst Du die abstrakten Methoden in die erstellte „Schnittstelle“ einfügen.

    Warum sollte man Java Schnittstellen verwenden?

    Hier ist die Liste der Vorteile der Verwendung von Java Schnittstellen in einem Programm:

    • Eine Java Schnittstelle wird zur Implementierung von Mehrfachvererbung verwendet.
    • Sie kann verwendet werden, um lose Kopplung anzuwenden.
    • Eine Java Schnittstelle ermöglicht es verschiedenen Objekten, einfach miteinander zu interagieren.
    • Sie wird auch verwendet, um das Konzept der Datenabstraktion zu implementieren.

    Regeln für die Implementierung eines Java Interface

    Bei der Implementierung von Java Schnittstellen gibt es einige Regeln, die beachtet werden müssen:

    • Eine Klasse darf zu einem bestimmten Zeitpunkt mehrere Schnittstellen implementieren.
    • Eine Klasse kann nur eine einzige Klasse erweitern; Sie können jedoch mehrere Schnittstellen innerhalb dieser Klasse implementieren.
    • Ebenso kann eine Klasse eine andere Klasse erweitern, und eine Schnittstelle kann eine andere erstellte Schnittstelle erweitern.
    • Bis zu diesem Punkt haben wir nun die Java Schnittstelle und ihre Verwendungszwecke verstanden und werden uns nun mit ihrer Implementierung befassen.

    So implementierst du ein Java Interface!

    Ä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.

    Beispiel 1

    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:

    Das erste von vielen Beispielen (engl. Examples) zeigt wie einfach Java interfaces zu erstellen sind!

    Beispiel 2

    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:

    Unsere Java Kurse beinhalten auch Videos mit einem innovativen Video Player!

    Schauen wir uns nun die Implementierung von “Multiple Java Interfaces“ an.

    Wie man mehrere Java Schnittstellen implementiert!

    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.

    Beispiel

    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:

    Ein Interface kann in jeder Form verwendet werden und ist nicht vergleich (engl. not comparable) zu einer Klasse!

    Java Interface vs. Java Klasse

    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!

    Java InterfaceJava Class
    Eine Java Schnittstelle erlaubt es Ihnen nicht, ein Objekt zu erstellen oder eine Variable zu instanziieren.In einer Java Klasse kann man ein Objekt erstellen und Variablen je nach Bedarf instanziieren.
    Eine Java Schnittstelle kann nur den Zugriffsspezifizierer „public“ verwenden.           Der Zugriffsspezifizierer einer Java Klasse kann „private“, „protected“ oder „public“ sein.
    Innerhalb einer Java Schnittstelle kann keine konkrete Methode definiert werden (eine Methode mit ihrer Implementierung in derselben Klasse).Eine Java Klasse kann konkrete Methoden enthalten.

    Das waren alle wesentlichen Informationen über die Verwendung von Java Schnittstellen. Du kannst je nach Bedarf noch weiter recherchieren.

    Zusammenfassung: Das Java Interface im Überblick!

    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.

    TP Star TP Star TP Star TP Star TP Star

    "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

    👋 Wir warten bereits auf dich!

    Lerne das, was du wirklich brauchst.

    Im Gegensatz zu der Abendschule oder der alteingesessenen Uni lernst du bei codegree die Sprachen & Pakete, die wirklich im Jobmarkt gesucht werden.

    Logo von Python
    Logo von PyTorch
    Logo von Pandas
    Logo von Matplotlib
    Logo von Java
    Logo von NumPy
    Mehr erfahren

    100% kostenlos registrieren · keine Zahlungsdaten notwendig