Java Schulung - Jens.Trapp@DLR.De - August 1996

Shadowing von Elementen


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.