From 73a2f268c76c10d3ffabb56f7dc37eb5d8d0c970 Mon Sep 17 00:00:00 2001 From: Sebastian Eidecker Date: Sat, 16 Nov 2019 10:18:37 +0000 Subject: [PATCH] --- Aufpassen%21.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Aufpassen%21.md b/Aufpassen%21.md index aa74c7f..16387c7 100644 --- a/Aufpassen%21.md +++ b/Aufpassen%21.md @@ -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! \ No newline at end of file + - 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 \ No newline at end of file