diff --git a/Aufpassen%21.md b/Aufpassen%21.md index 18fd9fe..0a910c9 100644 --- a/Aufpassen%21.md +++ b/Aufpassen%21.md @@ -69,7 +69,7 @@ Trowable (Checked) -`ausdruck` muss Typ `enum`, `byte`, `short`, `int`, `char` oder `String` ergeben - Vom Compiler berechenbare Audrücke in case-Anweisungen sind erlaubt (compile time constant). ``final int i = 1;`` geht, ``final int i; i = 1`` geht nicht. - **Erlaubte Identifier-Namen**: - - Müssen mit `_`, `$` oder Buchstabe beginnen + - Müssen mit `_`, `$` (Währungssymbol) oder Buchstabe beginnen - Danach auch Zahlen erlaubt - Kein reserviertes Schlüsselwort - Beliebig lang @@ -258,7 +258,10 @@ Trowable (Checked) - **Methodensichtbarkeit**: ``private final`` erlaubt (aber sinnlos) - **static-Sichtbarkeit**: - Statische Methoden nicht vererbt, aber in Subklasse sichtbar - - Es darf keine sonst gleiche, nichtstatische definiert werden + - Es darf keine sonst gleiche, nichtstatische definiert werden (Regeln wie Überladen, Typ in Hierarchie genügt, Rückgabe nicht) - Eine identische statische Methode darf definiert werden (ist aber nicht überschrieben, da statisch). *Auswahl daher per Compilezeit-Typ, nicht polymorph*) - **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. \ No newline at end of file + - 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**: + - Überladen: Argumentliste muss sich ändern (exakter Typ zählt), damit Methode unterschiedlich ist. Rest egal, zählt aber nicht zur Unterscheidung. + - Überschreiben: Argumentliste darf sich nicht ändern (exakter Typ zählt). Exceptions können wegfallen, keine neuen oder Superklassen der vorhandenen. Sichtbarkeit nicht restriktiver, großzügiger geht. Rückgabe höchstens Subklasse. \ No newline at end of file