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.