2019-11-18 19:02:32 +00:00
parent 5bbad41240
commit ddb2390a03

@@ -280,7 +280,10 @@ Trowable (Checked)
- **static-Sichtbarkeit**: - **static-Sichtbarkeit**:
- Statische Methoden nicht vererbt, aber in Subklasse sichtbar - 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) - 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*) - 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** - **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. - 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**: - **Überschreiben vs. Überladen**: