Inheritance in Java
Inheritance in Java
Inheritance in Java allows a new class (subclass or child class) to inherit properties
and behaviors (fields and methods) from an existing class (superclass or parent
class). This helps in reusing code and establishing a relationship between classes.
Single Inheritance
Multilevel Inheritance
Example: "AssistantStaff" inherits from "Staff", and "Staff" inherits from "HOD".
Hierarchical Inheritance
Hybrid Inheritance
1. Single Inheritance
Example:
class HOD {
void manageDepartment() {
void workOnAssignments() {
System.out.println("Working on assignments.");
Diagram:
HOD
Staff
2. Multilevel Inheritance
Example:
class HOD {
void manageDepartment() {
void workOnAssignments() {
System.out.println("Working on assignments.");
void assistInTeaching() {
System.out.println("Assisting in teaching.");
}
public class Main {
Diagram:
HOD
Staff
AssistantStaff
3. Hierarchical Inheritance
Example:
class HOD {
void manageDepartment() {
void teachSubjects() {
System.out.println("Teaching subjects.");
void manageAdministration() {
Diagram:
HOD
/ \
TeachingStaff NonTeachingStaff
4. Hybrid Inheritance
interface HOD {
void manageDepartment();
interface Staff {
void workOnAssignments();
System.out.println("Working on assignments.");
Diagram:
HOD Staff
\ /
AssistantStaff
Step-by-Step Explanation
Begin with the HOD class, which represents the head of the department. The HOD
has a method that shows their responsibility, like managing the department.
The Staff class represents the staff members working in the department. The staff
inherits from HOD, meaning it can use the manageDepartment method from HOD,
but it also has additional responsibilities, like working on assignments.