Type Casting : Inheritance « Class Definition « Java Tutorial

  1. With objects, you can cast an instance of a subclass to its parent class.
  2. Casting an object to a parent class is called upcasting.
Child child = new Child ();
Parent parent = child;

To upcast a Child object, all you need to do is assign the object to a reference variable of type Parent. The parent reference variable cannot access the members that are only available in Child.

Because parent references an object of type Child, you can cast it back to Child. It is called downcasting because you are casting an object to a class down the inheritance hierarchy. Downcasting requires that you write the child type in brackets. For example:

Child child2 = (Child) parent;

5.22.3.Method Overriding
5.22.4.The extends Keyword
5.22.5.Deriving a Class
5.22.6.The keyword super represents an instance of the direct superclass of the current object.
5.22.7.Derived Class Constructors: Calling the Base Class Constructor
5.22.8.Overriding a Base Class Method
5.22.9.Type Casting
5.22.10.Inheritance, constructors and arguments
5.22.11.Combining composition and inheritance
5.22.12.Inheritance and upcasting.
5.22.13.Overloading a base-class method name in a derived class does not hide the base-class versions.
5.22.14.Cleanup and inheritance
5.22.15.Creating a Multilevel Hierarchy
5.22.16.Demonstrate when constructors are called in a Multilevel Hierarchy