1. GeeksforGeeks – Inheritance in Java
- Covers the basics of inheritance with syntax and examples.
 - Explains method overriding, runtime polymorphism, and code reusability.
 - Includes a neat example with Animal, Dog, Cat, and Cow classes.
 
class Animal {
    void sound() {
        System.out.println("Animal makes a sound");
    }
}
class Dog extends Animal {
    void sound() {
        System.out.println("Dog barks");
    }
}
public class Main {
    public static void main(String[] args) {
        Dog d = new Dog();
        d.sound();  // Output: Dog barks
    }
}
2. Great Learning – Inheritance in Java with Examples
- Breaks down single, multilevel, and hierarchical inheritance.
 - Uses simple code snippets to show how child classes inherit from parent classes.
 - Great for beginners who want to understand the “extends” keyword and class relationships.
 
Multilevel Inheritance Example:
class A {
    void displayA() {
        System.out.println("Class A");
    }
}
class B extends A {
    void displayB() {
        System.out.println("Class B");
    }
}
class C extends B {
    void displayC() {
        System.out.println("Class C");
    }
}
public class Main {
    public static void main(String[] args) {
        C obj = new C();
        obj.displayA();
        obj.displayB();
        obj.displayC();
    }
}
3. Java2Blog – Core Java Inheritance
- Explains inheritance as an IS-A relationship.
 - Discusses why Java doesn’t support multiple inheritance directly.
 - Includes a practical example with variables and method access.
 
class Vehicle {
    int speed = 60;
    void move() {
        System.out.println("Vehicle is moving");
    }
}
class Car extends Vehicle {
    void displaySpeed() {
        System.out.println("Speed: " + speed);
    }
}
public class Main {
    public static void main(String[] args) {
        Car c = new Car();
        c.move();              // Output: Vehicle is moving
        c.displaySpeed();      // Output: Speed: 60
    }
}
Additional Explanation
What is Inheritance in Java?
Inheritance is a mechanism in Java where one class acquires the properties and behaviors of another class. It allows for code reusability and establishes a relationship between parent and child classes.
Types of Inheritance
- Single Inheritance: A child class inherits from a single parent class.
 
class Parent {
    void greet() {
        System.out.println("Hello from Parent");
    }
}
class Child extends Parent {
    void message() {
        System.out.println("Hello from Child");
    }
}
Multilevel Inheritance:
(Refer to the example under Great Learning section.)Hierarchical Inheritance:
class Shape {
    void draw() {
        System.out.println("Drawing a shape");
    }
}
class Circle extends Shape {
    void circleInfo() {
        System.out.println("This is a circle");
    }
}
class Square extends Shape {
    void squareInfo() {
        System.out.println("This is a square");
    }
}
Why Java Doesn’t Support Multiple Inheritance
Java avoids multiple inheritance to prevent ambiguity caused by the diamond problem. Instead, it uses interfaces to achieve similar functionality.
Key Benefits of Inheritance
- Code Reusability: Reduces redundancy by reusing existing code.
 - Polymorphism: Enables dynamic method invocation.
 - Extensibility: Makes it easier to add new features.
 
    
Top comments (0)