diff --git a/Aufpassen%21.md b/Aufpassen%21.md index 4b09f54..09d279b 100644 --- a/Aufpassen%21.md +++ b/Aufpassen%21.md @@ -280,7 +280,10 @@ Trowable (Checked) - **static-Sichtbarkeit**: - Statische Methoden nicht vererbt, aber in Subklasse sichtbar - Es darf keine sonst gleiche, nichtstatische definiert werden (Regeln wie Überladen, Typ in Hierarchie genügt, Rückgabe nicht) + - Auch innerhalb einer Klasse darf keine statische und nichtstatische Methode mit gleicher Signatur definiert werden. - Eine identische statische Methode darf definiert werden (ist aber nicht überschrieben, da statisch). *Auswahl daher per Compilezeit-Typ, nicht polymorph*) + - Feld mit demselben Namen darf in Ober/Unterklasse definiert werden. *Dann kommt es auf den deklarierten Typen an!* + - In einer Klasse darf Name nicht doppelt vergeben werden, wie bei Methoden. - **Polymorphie und Überladen** - Signatur zur Compilezeit, also der definierte Typ. Es wird aber die Methode des tatsächlichen Objekts ausgeführt, sollte diese *zusätzlich* überladen sein. Wenn Methode nicht in der deklarierten Klasse vorhanden ist -> Compilerfehler. - **Überschreiben vs. Überladen**: