Table of Contents

Interfaces

Unterschied zu Superklassen

Mehrfachvererbung

Im Gegensatz zu Klassen können Interfaces mehrfach implementiert werden, wodurch eine Flexibilität entsteht, die Superklassen nicht bieten.

Superklassen sind ideal, wenn es um Code-Wiederverwendung geht, während Interfaces zur Definition von Verhalten verwendet werden.

Methoden

Attribute

Ein Interface bringt nur Attribute mit folgenden Eigenschaften mit:

Die sonst üblichen Attribute müssen in der jeweiligen Klasse implementiert werden.

Verwendung

Interfaces verwenden das Schlüsselwort interface.

Eine Klasse, die das Interface implementiert, verwendet das Schlüsselwort implements.

// Definition des Interface
public interface Saeugetier{
 
    public boolean hatLunge = true; // Nur Deklarierung von Konstanten (public, static, final)
 
    // Methoden ohne Implementierung
    void sound(); // kein Methodenkoerper
    void sleep(); // auch kein Methodenkoerper
}
Eine Klasse, die ein Interface implementiert verwendet - wer hätte es gedacht - das Schlüsselwort implements.

// Klasse Dog implementiert das Interface Saeugetier
class Dog implements Saeugetier{
    // Implementierung der Methoden des Interface
    public void sound() {
        System.out.println("Der Hund bellt");
    }
    public void sleep() {
        System.out.println("Der Hund schläft");
    }
}
Und noch eine Klasse, die das Interface mithilfe des Schlüsselworts implements implementiert.

// Klasse Cat implementiert ebenfalls das Interface Saeugetier
class Cat implements Saeugetier{
    // Implementierung der Methoden des Interface
    public void sound() {
        System.out.println("Die Katze miaut");
    }
    public void sleep() {
        System.out.println("Die Katze schläft");
    }
}

UML

interfaceuml.svg{.align-center}