@@ -1,11 +1,18 @@
|
||||
## 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.
|
||||
## Definition
|
||||
- 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.
|
||||
|
||||
## 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
|
||||
-
|
||||
- Müssen von implementierenden Klassen nicht implementiert werden
|
||||
|
||||
Reference in New Issue
Block a user