Inheritance in JAVA

Inheritance in JAVA Anand

Inheritance in Java

Inheritance is one of the most important concepts in object-oriented programming. It allows a class to inherit properties and behaviors from another class. In Java, inheritance helps programmers reuse existing code and create hierarchical relationships between classes.

By using inheritance, programmers can create a new class based on an existing class. The new class automatically receives the variables and methods of the existing class and can also add new features or modify existing ones.

For students studying the ITI COPA (Computer Operator and Programming Assistant) trade, understanding inheritance is essential because it helps in building efficient, reusable, and structured Java applications.

What is Inheritance?

Inheritance is a mechanism in Java where one class acquires the properties and methods of another class. The class that inherits features is called the subclass, and the class whose features are inherited is called the superclass.

Inheritance helps reduce code duplication and improves the structure of programs.

Basic Terminology

  • Superclass (Parent Class) – The class whose properties are inherited.
  • Subclass (Child Class) – The class that inherits from another class.
  • extends keyword – Used to implement inheritance in Java.

Syntax of Inheritance

class ParentClass {

    // variables and methods

}

class ChildClass extends ParentClass {

    // additional variables and methods

}

In this syntax, the ChildClass inherits all accessible members of the ParentClass.

Example of Inheritance

class Animal {

    void eat() {
        System.out.println("Animal is eating");
    }

}

class Dog extends Animal {

    void bark() {
        System.out.println("Dog is barking");
    }

}

In this example, the Dog class inherits the eat() method from the Animal class.

Example Program

public class TestInheritance {

    public static void main(String[] args) {

        Dog d = new Dog();

        d.eat();
        d.bark();

    }

}

Output:

Animal is eating
Dog is barking

The Dog object can use both its own method and the inherited method.

Types of Inheritance in Java

Java supports several types of inheritance structures.

  • Single Inheritance
  • Multilevel Inheritance
  • Hierarchical Inheritance

Single Inheritance

In single inheritance, one class inherits from another class.

class A {
    void display() {
        System.out.println("Class A");
    }
}

class B extends A {
    void show() {
        System.out.println("Class B");
    }
}

Multilevel Inheritance

In multilevel inheritance, a class inherits from another class, and that class also inherits from another class.

class A {
    void methodA() {
        System.out.println("Class A");
    }
}

class B extends A {
    void methodB() {
        System.out.println("Class B");
    }
}

class C extends B {
    void methodC() {
        System.out.println("Class C");
    }
}

Hierarchical Inheritance

In hierarchical inheritance, multiple classes inherit from a single superclass.

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

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

class Cat extends Animal {
    void meow() {
        System.out.println("Cat meows");
    }
}

Why Java Does Not Support Multiple Inheritance with Classes

Java does not support multiple inheritance using classes because it can create ambiguity problems known as the diamond problem.

However, Java allows multiple inheritance through interfaces.

The super Keyword

The super keyword is used to refer to the immediate parent class object.

It can be used to:

  • Access parent class variables
  • Call parent class methods
  • Invoke parent class constructors

Example

class Animal {

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

}

class Dog extends Animal {

    void eat() {
        super.eat();
        System.out.println("Dog eats meat");
    }

}

The super keyword calls the method of the parent class.

Method Overriding

Method overriding occurs when a subclass provides its own implementation of a method that already exists in the parent class.

Example

class Animal {

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

}

class Dog extends Animal {

    void sound() {
        System.out.println("Dog barks");
    }

}

Here, the Dog class overrides the sound() method.

Advantages of Inheritance

  • Promotes code reusability
  • Reduces code duplication
  • Improves program structure
  • Supports hierarchical classification

Inheritance makes large programs easier to manage and maintain.

Applications of Inheritance

Inheritance is widely used in many real-world software applications.

  • Banking systems
  • Student management systems
  • Game development
  • Enterprise software systems

Most modern software frameworks rely heavily on inheritance.

Importance for ITI COPA Students

For students studying the ITI COPA trade, understanding inheritance helps in learning how software systems are designed using object-oriented programming.

Inheritance allows students to reuse existing code and build complex applications efficiently.

This concept also prepares students for advanced topics such as polymorphism, interfaces, and software design patterns.

Conclusion

Inheritance is a powerful feature of Java that allows one class to inherit properties and methods from another class. It improves code reusability and helps programmers build structured applications.

Java supports several types of inheritance such as single, multilevel, and hierarchical inheritance. By using inheritance, developers can create flexible and maintainable software systems.

For ITI COPA students, mastering inheritance is an important step toward understanding object-oriented programming and developing professional Java applications.