@@ -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.
|
||||
- *Ü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)
|
||||
Reference in New Issue
Block a user