Während Methoden überschrieben werden, nennt man den Vorgang bei Elementen shadowing oder überlagern. So existieren für die Klasse Punkt3D beide Elemente: Punkt2D.DIMENSION und Punkt3D.DIMENSION.
Aus der Klasse Punkt3D heraus, kann Punkt2D.DIMENSION durch super.DIMENSION angesprochen werden.
Außerhalb ist der Wert von Punkt2D.DIMENSION durch ein Casting zu erreichen:
Punkt3D p = new Punkt3D(); Punkt2D q = new Punkt2D(); System.out.println("Dimension p: "+ p.DIMENSION); System.out.println("Dimension ((Punkt2D)p): " + ((Punkt2D)p).DIMENSION);Ergebnis:
Dimension p: 3 Dimension ((Punkt2D)p): 2
Bei mehrfacher Ableitung ist die Konstruktion super.super.DIMENSION nicht erlaubt.super.DIMENSION wirkt aber auf alle Superklassen und wird das nächst-höhere Dimension finden.