@@ -177,11 +177,12 @@ Trowable
|
||||
- Ähnlich bei try-catch: Wenn der Compiler sicher ist, dann erlaubt (Compile-Zeit-Konstanten, auf jeden Fall geworfene Exeptions, finally-Blöcke etc.)
|
||||
- **Erlaubte und implizite Modifier**
|
||||
- Interfaces
|
||||
|
||||
|
||||
- **Implementierung 2 Interfaces**
|
||||
- Interessant, wenn beide Interfaces dieselbe Methode deklarieren
|
||||
- Eine static, andere abstract => Geht nicht
|
||||
- Eine static, andere abstract => Abstrakte implementieren, die statische wird nicht vererbt!
|
||||
- Beide static => Zugriff direkt über Interfacename.methode(), *nicht* über super oder this. Wird ja nicht vererbt. Ist nicht Teil der Klasse, kann von außen auch nicht in der Klasse angesprochen werden, nur über das Interface. Kann aber in der Methode mit selbem Namen deklariert werden.
|
||||
- Beide abstract => Muss implementiert werden. Zugriff *nur* über this.
|
||||
- Beide default => Muss implementiert werden, um Eindeutigkeit zu schaffen! Zugriff per Interfacename.super.methode() möglich!
|
||||
- Beide default => Muss implementiert werden, um Eindeutigkeit zu schaffen! Zugriff per Interfacename.super.methode() möglich! Über this und von außen über Klassenreferenz sichtbar.
|
||||
- Oberklasse und default-Implementierung in Interface: Muss *nicht* implementiert werden, die Implementierung der Klasse gewinnt
|
||||
- Eine default (simpler Fall): Kann überschrieben werden. Zugriff auch per Interfacename.super.methode() möglich, super alleine genügt nicht! Über this und von außen über Klassenreferenz sichtbar.
|
||||
- Bei
|
||||
Reference in New Issue
Block a user