diff --git a/Aufpassen%21.md b/Aufpassen%21.md index 572f22d..78252bd 100644 --- a/Aufpassen%21.md +++ b/Aufpassen%21.md @@ -264,4 +264,9 @@ Trowable (Checked) - 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 + - *Ü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. +- **Import nicht sichtbarer Objekte** ist verboten -> Compilefehler +- ``import org.eidecker.oca8lernen.lastminute.Oberklasse.*`` importiert nicht ``Oberklasse``. Ist aber erlaubt für innere Klassen! +- **Neudefinition nicht sichtbarer Methoden** + - ``private``-Methoden dürfen in der Unterklasse neu definiert werden + - Auch nicht sichtbare package-private Methoden können neu definiert werden. (Höllisch aufpassen bei Polymorphie, ist nicht überschrieben) \ No newline at end of file