Object
Da jede Klasse ein Nachfahre von Object
ist,
kann eine Object
-Referenzvariable für ein Objekt
jeder Klasse verwendet werden.
Zum Beispiel:
Object obj; String str = "Yertle" ; Double dbl = new Double( 32.0 ); KinderGeburtstag kinder = new KinderGeburtstag ( "Jan", 4 ); obj = str; obj = dbl; obj = kinder;
Jede der drei letzten Anweisungen ist korrekt (auch wenn in diesem Programm nutzlos.) Es wäre nicht korrekt , wenn das Folgende den oben stehenden Anweisungen folgen würde:
obj.gruss();
Es ist richtig, dass obj
auf ein KinderGeburtstag
-Objekt verweist, das eine gruss()
Methode besitzt.
Aber dem Compiler muss das durch eine Typumwandlung mitgeteilt werden. Das folgende ist OK:
( (KinderGeburtstag)obj ).gruss();
Eine Typumwandlung wird verwendet, um dem Compiler mitzuteilen was "wirklich" in einer Variablen ist, die selbst nicht spezifisch genug ist.
Ist das Folgende OK?
Object obj; String str = "Yertle" ; obj = str; ( (KinderGeburtstag)obj ).gruss();