@@ -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.
|
- 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**:
|
||||||
- *Überladen*: Argumentliste muss sich ändern (exakter Typ zählt), damit Methode unterschiedlich ist. Rest egal, zählt aber nicht zur Unterscheidung.
|
- *Ü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