Back to Lessons

Method Overriding and Polymorphism

April 5, 2026

Method Overriding

Child class provides specific implementation of parent method.

Polymorphism Example

class Animal {
    void makeSound() {
        System.out.println("Animal sound");
    }
}

class Dog extends Animal {
    @Override
    void makeSound() {
        System.out.println("Bark");
    }
}

Animal myDog = new Dog(); // Runtime polymorphism
myDog.makeSound(); // "Bark"

Key Points

  • @Override annotation ensures correct overriding.
  • Runtime polymorphism via dynamic method dispatch.
  • Same method signature in parent/child.
  • Enables "one interface, multiple implementations".