Klassen und Methodentabellen:
class C {
int x = 2; int p () { return this.x + 3; }
}
C x = new C() ; int y = x.p ();
Überschreiben:
class E extends C {
int p () { return this.x + 4; }
}
C x = new E() ; int y = x.p ();
Überall, wo ein Objekt der Basisklasse (C) erwartet wird,
kann ein Objekt einer abgeleiteten Klasse (E) benutzt werden.