Next: Was wird vererbt?
Up: Vererbung
Previous: Vererbung: Wann und wie?
public point3D(float x, float y, float z)
{ super(x, y);
this.z = z;
}
Regeln:
- super ist die erste Anweisung im
Konstruktor.
- Wird super nicht explizit angegeben, wird der Default-Konstruktor
super() aufgerufen. Compiler-Fehler, wenn die Oberklasse keinen
Default-Konstruktor hat.
- Konstruktoren, die durch this
andere Konstruktoren aufrufen, enthalten keinen super-Aufruf
(siehe Seite
).
Auf diese Art erhalten wir eine
Konstruktor-Kette
die bei jeder Objekt-Erzeugung bis zur Wurzelklasse Object
hinaufreicht.
Im Gegensatz dazu erhalten wir nicht automatisch eine
Destruktor-Kette
Diese müssen wir bei Bedarf explizit aufbauen:
finalize()
{ ...
super.finalize();
}
Dies ist durchaus ratsam (Mehr zu
finalize auf Seite
)
Next: Was wird vererbt?
Up: Vererbung
Previous: Vererbung: Wann und wie?
Peter Pfahler, 1997