Interfaces: Unterschied zwischen den Versionen

Aus FI-Wiki
 
Zeile 9: Zeile 9:
* Wird mit dem Schlüsselwort '''interface''' deklariert
* Wird mit dem Schlüsselwort '''interface''' deklariert
* Methoden sind standardmäßig '''public''' und '''abstrakt'''
* Methoden sind standardmäßig '''public''' und '''abstrakt'''
* kann nur Konstanten enthalten, keine Variablen
* Wird mit '''implements''' eingebunden
* Wird mit '''implements''' eingebunden
* Eine Klasse kann mehrere Interfaces implementieren
* Eine Klasse kann mehrere Interfaces implementieren

Aktuelle Version vom 27. Oktober 2025, 15:47 Uhr

Interfaces

Ein Interface beschreibt eine reine Schnittstelle. Es definiert, was ein Objekt kann, aber nicht wie.

Interfaces enthalten nur Methodenköpfe (ab Java 8 auch Default- und static-Methoden). Eine Klasse, die ein Interface implementiert, verpflichtet sich, alle Methoden zu definieren.

Eigenschaften

  • Wird mit dem Schlüsselwort interface deklariert
  • Methoden sind standardmäßig public und abstrakt
  • kann nur Konstanten enthalten, keine Variablen
  • Wird mit implements eingebunden
  • Eine Klasse kann mehrere Interfaces implementieren

Beispiel: Interface

interface Bewegbar {
    void bewege();
}

Beispiel: Implementierende Klassen

class Auto implements Bewegbar {
    @Override
    public void bewege() {
        System.out.println("Auto fährt");
    }
}

class Fahrrad implements Bewegbar {
    @Override
    public void bewege() {
        System.out.println("Fahrrad rollt");
    }
}

Verwendung

Bewegbar b1 = new Auto();
Bewegbar b2 = new Fahrrad();

b1.bewege(); // Auto fährt
b2.bewege(); // Fahrrad rollt

Vorteil von Interfaces

  • Erlauben Polymorphie über verschiedene Klassen hinweg
  • Trennen Schnittstelle und Implementierung
  • Ermöglichen gemeinsame Behandlung sehr unterschiedlicher Objekte