new gebildet. Es gibt aber auch Unterschiede.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.
bute
Falls überhaupt, bringt ein Interface nur Attribute mit folgenden Eigenschaften mit:
public, d.h., das Attribut ist von überall zugreifbarstatic, d.h. das Attribut ist eine sog. Klassenvariable und gilt über alle Instanzen der Klasse hinwegfinal, d.h. das Attribut ist nicht veränderbar - sprich: es ist eine KONSTANTE.Die sonst üblichen Attribute müssen in der jeweiligen Klasse implementiert werden.
Interfa ces verwe nden das Schlüsselwort interface.
Eine Klasse, die das Interface implementiert, verwendet das Schlüsselwort implements.
// Definition des Interface public interface Saeugetier{ // Deklarierung von Konstanten (public, static, final muss nicht explizit angegeben werden!) // Wichtig: Muss initialisiert werden public boolean HATLUNGE= true; // 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"); } }