@@ -1,11 +1,18 @@
|
|||||||
## Definition und Implementierung
|
## Definition
|
||||||
- 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
|
- Interfaces sind per default `abstract`. Darf aber angegeben werden
|
||||||
- Methoden sind immer implizit `public` und daneben auch `abstract`, wenn nicht `static` oder `default`.
|
- 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
|
- Felder sind immer Konstanten: `public static final`, müssen also auch initialisiert werden
|
||||||
- Initialisierungsblöcke **nicht** erlaubt, weder statisch noch normal.
|
- Initialisierungsblöcke **nicht** erlaubt, weder statisch noch normal.
|
||||||
|
|
||||||
|
## 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.
|
||||||
|
- Alle Methoden müssen implementiert werden
|
||||||
|
- Regeln zum Überschreiben beachten (Sonst evtl. Überladen und damit nicht implementiert)
|
||||||
|
- Keine neuen **Checked** Exceptions
|
||||||
|
- Bestehende Checked Exceptions höchstens Subklasse
|
||||||
|
- Exceptions aus Interface müssen nicht angegeben werden, gelten aber! (Gilt auch für abstrakte Klassen)
|
||||||
|
|
||||||
## Static und default-Methoden
|
## Static und default-Methoden
|
||||||
-
|
-
|
||||||
- Müssen von implementierenden Klassen nicht implementiert werden
|
- Müssen von implementierenden Klassen nicht implementiert werden
|
||||||
|
|||||||
Reference in New Issue
Block a user