Rzutowanie klas (typów obiektowych)

 

Jeśli klasa DerivedClass (ang. klasa odziedziczona albo klasa potomka) jest odziedziczona od klasy AncestorClass (ang. klasa przodka), wówczas obiekt klasy DerivedClass jest jednocześnie obiektem klasy AncestorClass. Czyli możemy utworzyć go w następujący sposób:

AncestorClass object = new DerivedClass();

a następnie możemy utworzyć takie przypisanie:

DerivedClass object2 = (DerivedClass) object;

 

Ponieważ każda klasa obiektu jest odziedziczona od klasy java.lang.Object, możemy też tworzyć obiekty tak:

Object obj = new Person();
Person person = new Person();

if( obj instanceof Person )
    Person newPerson = (Person) obj;    // casting = rzutowanie