Some people may ask why do you need type casting? well, you need type casting to get access to fields and methods declared on the target type or class . You can not access them with any other type. Let’s see a simple example of type casting in Java with two classes Base and Derived which share the same type hierarchy.