Junior — Middle
Kann man in einer einzigen Klasse zwei Schnittstellen implementieren, die jeweils Standardmethoden haben?
sobes.tech KI
Antwort von AI
Ja, in Java kann eine Klasse mehrere Schnittstellen gleichzeitig implementieren, auch wenn diese Schnittstellen Standardmethoden (default methods) enthalten. Wenn jedoch zwei Schnittstellen Methoden mit derselben Signatur enthalten, muss die Klasse diese Methode überschreiben und klar angeben, welche Implementierung verwendet werden soll oder eine eigene bereitstellen.
Beispiel:
interface A {
default void hello() {
System.out.println("Hallo von A");
}
}
interface B {
default void hello() {
System.out.println("Hallo von B");
}
}
class C implements A, B {
@Override
public void hello() {
// Explizit die Implementierung wählen oder eigene schreiben
A.super.hello();
// oder B.super.hello();
}
}
Auf diese Weise wird der Konflikt bei Standardmethoden durch Überschreiben in der Klasse gelöst.