Hierarchical Inheritance in Java is a type of inheritance in which a single superclass is extended by multiple subclasses. This means that multiple classes inherit properties and behaviors from a single parent class.
Syntax:
class SuperClass {
// Superclass code
}
class SubClass1 extends SuperClass {
// Subclass1 code
}
class SubClass2 extends SuperClass {
// Subclass2 code
}
Code language: JavaScript (javascript)
Program
A simple Java program demonstrating Hierarchical Inheritance for a Software Engineer hierarchy. We will have a base class SoftwareEngineer
and two subclasses: FrontendEngineer
and BackendEngineer
.
// Superclass SoftwareEngineer class SoftwareEngineer { String name; String role; // Constructor public SoftwareEngineer(String name) { this.name = name; this.role = "Software Engineer"; } // Method to show role public void showRole() { System.out.println(name + " is a " + role); } } // Subclass FrontendEngineer class FrontendEngineer extends SoftwareEngineer { public FrontendEngineer(String name) { super(name); this.role = "Frontend Engineer"; } // Specific method for Frontend Engineer public void developUI() { System.out.println(name + " is developing the user interface."); } } // Subclass BackendEngineer class BackendEngineer extends SoftwareEngineer { public BackendEngineer(String name) { super(name); this.role = "Backend Engineer"; } // Specific method for Backend Engineer public void developAPI() { System.out.println(name + " is developing the backend API."); } } // Main class for the demo public class SoftwareEngineerDemo { public static void main(String[] args) { // Create instances of Frontend and Backend Engineers FrontendEngineer frontendEngineer = new FrontendEngineer("Paani"); BackendEngineer backendEngineer = new BackendEngineer("Mahesh"); // Show role and specific work frontendEngineer.showRole(); frontendEngineer.developUI(); System.out.println("--------------------"); backendEngineer.showRole(); backendEngineer.developAPI(); } } /* Paani is a Frontend Engineer Paani is developing the user interface. -------------------- Mahesh is a Backend Engineer Mahesh is developing the backend API.
Hierarchical Inheritance is a fundamental concept in object-oriented programming that allows multiple subclasses to inherit properties and behaviors from a single superclass. This type of inheritance is particularly useful in situations where there is a need to model different variations or specialized behaviors while still sharing common functionality.