Inheritance in Java.

By Shakib Ansari | Date: Fri, Jun 6, 2025

Inheritance Kya Hota Hai?

Inheritance ek OOP concept hai jisme ek class (child class) doosri class (parent class) ke properties aur methods use kar sakti hai bina dubara likhe.

Reusability = Save time + less code repetition

 Java mein Inheritance ka syntax:

class Parent {
    // parent class code
}

class Child extends Parent {
    // child class code (inherits Parent)
}

1. Single Inheritance

Ek child class ek hi parent class se inherit karti hai.

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

class Dog extends Animal {
    void bark() {
        System.out.println("Dog barks");
    }
}
class Main {
    public static void main(String[] args) {
        Dog d = new Dog();
        d.sound(); // inherited
        d.bark();
    }
}

2. Multilevel Inheritance

Ek class doosri class se inherit karti hai, aur wo class kisi aur se inherit karti hai — 3 level ka chain banta hai.

class Animal {
    void eat() {
        System.out.println("Animal eats");
    }
}

class Dog extends Animal {
    void bark() {
        System.out.println("Dog barks");
    }
}

class Puppy extends Dog {
    void weep() {
        System.out.println("Puppy weeps");
    }
}
java
CopyEdit
class Main {
    public static void main(String[] args) {
        Puppy p = new Puppy();
        p.eat();   // from Animal
        p.bark();  // from Dog
        p.weep();  // from Puppy
    }
}

3. Hierarchical Inheritance

Ek parent class se multiple child classes inherit karti hain.

class Vehicle {
    void start() {
        System.out.println("Vehicle starts");
    }
}

class Bike extends Vehicle {
    void speed() {
        System.out.println("Bike is fast");
    }
}

class Car extends Vehicle {
    void comfort() {
        System.out.println("Car is comfortable");
    }
}

class Main {
    public static void main(String[] args) {
        Bike b = new Bike();
        b.start();
        b.speed();

        Car c = new Car();
        c.start();
        c.comfort();
    }
}

Note: Java doesn’t support multiple inheritance using classes (to avoid ambiguity), but interfaces se kar sakte hain.

super Keyword in Java

Use of super:

  1. Parent class ke method ko call karne ke liye
  2. Parent class ke constructor ko call karne ke liye
  3. Parent class ke variable ko refer karne ke liye

Example 1: Access parent variable

class Animal {
    String type = "Animal";
}

class Dog extends Animal {
    String type = "Dog";

    void showType() {
        System.out.println(super.type); // prints: Animal
    }
}

Example 2: Call parent method

java
CopyEdit
class Animal {
    void sound() {
        System.out.println("Animal makes sound");
    }
}

class Dog extends Animal {
    void sound() {
        super.sound(); // calls parent method
        System.out.println("Dog barks");
    }
}

Example 3: Call parent constructor

class Animal {
    Animal() {
        System.out.println("Animal constructor");
    }
}

class Dog extends Animal {
    Dog() {
        super(); // optional, Java calls it by default
        System.out.println("Dog constructor");
    }
}

Summary

  • Single: 1 parent → 1 child Dog extends Animal
  • Multilevel: Parent → Child → Grandchild Puppy extends Dog extends Animal
  • Hierarchical: 1 parent → multiple children Car, Bike extend Vehicle

super Keyword Recap

  • Access parent variable: super.variable
  • Call parent method: super.method()
  • Call parent constructor: super() (Optional)


About the Author

Hi, I'm Shakib Ansari, Founder and CEO of BeyondMan. I'm a highly adaptive developer who quickly learns new programming languages and delivers innovative solutions with passion and precision.

Shakib Ansari
Programming

Comments