Down Casting in Java
Down Casting is the process of converting a superclass reference (that actually refers to a subclass object) into a subclass reference.
Key Points
- Down casting is also known as explicit casting.
- It must be performed by the programmer using a cast operator.
- The compiler does not perform down casting automatically.
- Up casting must occur before down casting.
- If down casting is done without a valid up cast, it results in a ClassCastException at runtime.
Example
System.out.println("Parent method");
class Child extends Parent {
System.out.println("Child method");
Parent p = new Child(); // Up casting
Child c = (Child) p; // Down casting
Invalid Down Casting
Child c = (Child) p; // ClassCastException
Why Down Casting Is Risky
- Performed at runtime, not compile time.
- Can throw ClassCastException if the object is not actually a subclass object.
- Should be used carefully.
Safe Down Casting (Using instanceof)
if (p instanceof Child) {
Summary
- Down casting = Superclass reference → Subclass reference
- Explicitly done by programmer
- Requires prior up casting
- Can cause runtime exception if done incorrectly
Comments
Post a Comment