Java, Eclipse Frage zu Interfaces?

... komplette Frage anzeigen

2 Antworten

Bisher definierte das Interface nur die Methoden Signaturen, die implementiert sein müssen, aber nicht die Implementation selbst.

Das hat sich mit Java 8 grundlegend geändert:

public interface A {
default void foo(){
System.out.println("Calling A.foo()");
}
}

public class Clazz implements A {
}

Clazz clazz = new Clazz();
clazz.foo(); // Calling A.foo()

Kurz geklaut von Zeroturnaround: http://zeroturnaround.com/rebellabs/java-8-explained-default-methods/

Kommentar von Anonynonymous
30.06.2016, 12:56

Hey, erst einmal ´danke für deine Antwort.

Ich kannte die Möglichkeit bisher noch nicht, dass man Methoden direkt im Interface implementieren und darüber aufrufen kann.

Ich hoffe, ich habe deinen Punkt verstanden und versuche einmal zu Rekapitulieren:

Da das Objekt clazz die Methode foo() aufrufen kann muss clazz den Typ "A" innehaben, richtig?


0
Kommentar von KnusperPudding
30.06.2016, 14:31

Die default-Implementierung kannte ich bislang (auch) nicht. Sicher sehr nützlich. Danke.

0

Was möchtest Du wissen?