Was ist der Zweck des Standardschlüsselworts in Java?
Eine Schnittstelle in Java ähnelt einer Klasse, der Hauptteil einer Schnittstelle kann jedoch @ enthaltenur abstrakte Methoden undfinal
Felder (Konstanten).
Neuerdings habe ich eine Frage gesehen, die so aussieht
interface AnInterface {
public default void myMethod() {
System.out.println("D");
}
}
Entsprechend der Schnittstellendefinition,nur abstrakte Methoden sind erlaubt. Warum kann ich den obigen Code kompilieren? Was ist derdefault
Stichwort
uf der anderen Seite, wenn ich versuchte, unter Code zu schreiben, dann heißt esmodifier default not allowed here
default class MyClass{
}
Anstatt vo
class MyClass {
}
Kann mir jemand den Zweck desdefault
Stichwort? Darf es nur innerhalb einer Schnittstelle sein? Wie unterscheidet es sich vondefault
(kein Zugriffsmodifikator)?