Up Casting in Java: Definition, Rules, and Examples

Up Casting in Java

Up Casting is the process of assigning a subclass object to a superclass reference or a super-interface reference.

Key Points

  • Up casting is also known as implicit casting.
  • It is performed automatically by the compiler.
  • In up casting, the compiler treats the subclass object as a superclass object.
  • No explicit cast is required.

Parent p = new Child(); // Up casting

Accessing Members During Up Casting

  • When up casting occurs, the programmer can access only the members of the superclass using the superclass reference.
  • Subclass-specific members cannot be accessed directly.

class Parent {
    void show() {
        System.out.println("Parent method");
    }
}

class Child extends Parent {
    void display() {
        System.out.println("Child method");
    }
}

Parent p = new Child();
p.show(); // Allowed
// p.display(); // Not allowed

Up Casting with Method Overriding

  • If method overriding is present:
             ✓The overridden method of the subclass is executed.
             ✓This is due to runtime polymorphism (dynamic method dispatch).

class Parent {
    void run() {
        System.out.println("Parent running");
    }
}

class Child extends Parent {
    void run() {
        System.out.println("Child running");
    }
}

Parent p = new Child();
p.run(); // Output: Child running
👉 Here, the method call depends on the object, not the reference.

Why Up Casting Is Important

  • Required to achieve runtime polymorphism.
  • Helps in writing flexible and loosely coupled code.
  • Widely used in method arguments, collections, and frameworks.

Important Correction

❌ Up casting is required to achieve runtime error → Incorrect
✅ Up casting is required to achieve runtime polymorphism → Correct

Comments

Popular posts from this blog

History of Java Programming Language | Features, Origin & Uses

Inheritance in Java: Types, Examples, and Explanation

Java Programming Features Every Beginner Should Know