Casting von Objekten

Status
Nicht offen für weitere Antworten.

Tillux

Mitglied
Hallo,

ich habe mal 2 grundsätzliche Fragen zum Thema Objektcasting:

1)
Student sei eine Unterklasse von Person
Code:
Student s = new Student()
Person p = (Person) s

Warum ergibt
Code:
p.getClass().getName()
als Ergebnis Student ? p ist doch ein Objekt der Klasse Person.

2)
Wozu braucht man eigentlich die unsichere Einschränkungsumwandlung in der Praxis (casting von Person nach Student) ?
Ein
Code:
Student s = (Student) new Person()
liefert ja ein eine ClassCastException

danke im Voraus 😀
 
also zu 1.
die referenz p ist zwar vom typ person aber das objekt auf dass es zeigt ist vom typ student

zu 2.
du kannst nicht mit einer referenz vom typ student auf ein person objekt zeigen, da person nicht von student erbt sondern umgekehrt
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben