Sonya: Casting

Beitrag lesen

Hallo Forumer,

ein Verständnisproblem beim Java-Selbst-Lernen. Es geht um Typumwandlung bzw. Casting. Ich lerne mit einem Buch, in dem zu diesem Thema folgender Code gibt:

//Die Klasse Student ist die Subklasse von Person

Person mensch = new Person();

if (mensch instanceof Student) {
 student1 = (Student)Person;
}

Hier ist der Sinn der Umwandlung für mich nicht nachzuvollziehen. Wenn ich doch in der if-Anweisung schon teste ob das Objekt mensch eine Instanz der Klasse Student ist und der Ausdruck in Klammern den Wert true zurückliefert, dann handelt es sich bereits um eine Instanz der Subklasse, wozu dann die Umwandlung?

Ist es hier überhaupt möglich, dass die if-Bedingung je den Wert true zurückliefert?

Danke für Eure Hilfe.
DigitalRatte