diff --git a/Interfaces.md b/Interfaces.md index 5d08b7b..3f1a922 100644 --- a/Interfaces.md +++ b/Interfaces.md @@ -1 +1,15 @@ -Welcome to the Wiki. \ No newline at end of file +## Definition und Implementierung +- Interfaces können von jeder Klasse von jeder Stelle aus implementiert werden (bei inneren Interfaces unter Angabe des äußeren `implements I1.I2` + - Formal sind sie nicht `public`, verhalten sich aber so. Wenn angegeben, dann in eigene Datei schreiben. +- Interfaces sind per default `abstract`. Darf aber angegeben werden +- Methoden sind immer implizit `public` und daneben auch `abstract`, wenn nicht `static` oder `default`. +- Felder sind immer Konstanten: `public static final`, müssen also auch initialisiert werden +- Initialisierungsblöcke **nicht** erlaubt, weder statisch noch normal. + +## Static und default-Methoden +- +- Müssen von implementierenden Klassen nicht implementiert werden +- + +## Interessantes +- Dürfen auch innerhalb von Klassen oder anderen Interfaces deklariert werden (Inneres Interface kann äußeres implementieren) \ No newline at end of file