Oops Concepts : Inheritance In Java

When I first started learning Java, inheritance felt a bit confusing. But once I understood the basic idea, it became one of the easiest and most powerful concepts in Object-Oriented Programming (OOP).

In this blog, I’ll explain inheritance in very simple English, so even if you're a beginner student or aspiring developer, you can understand it easily. 

What is Inheritance in Java?

In simple words, inheritance means reusing code from another class.

I usually think of it like this:

  • A child inherits features from parents
  • Similarly, a class can inherit properties and methods from another class

Definition:

Inheritance is a mechanism where a child class gets properties and methods from a parent class.

Key Terms (Very Important)

Parent Class (Superclass) → The class that provides properties

Child Class (Subclass) → The class that inherits those properties

How Inheritance Works in Java

Java uses the keyword:

        extends

Basic Syntax:

This means the Child class can use everything from the Parent class.

Real Example (This Helped Me Understand)

In this example:

  • Animal is the parent class
  • Dog is the child class

What I learned from this:

  • The dog can use eat() from Animal
  • It can also use its own method bark()

This is called code reusability

Types of Inheritance in Java

1. Single Inheritance

This is the simplest type.

One child class inherits from one parent class

Example:

Parent → Child




2. Multilevel Inheritance

This works like a chain. Grandparent → Parent → Child


I found this useful when building layered applications.

3. Hierarchical Inheritance

Multiple child classes inherit from one parent
Parent
/ \
Child1 Child2



4. Multiple Inheritance (Using Interfaces)

Java does NOT support multiple inheritance using classes ❌ But it supports it using interfaces ✅


Advantages of Inheritance

From my experience, these are the biggest benefits:
  • Code Reusability → Write once, use many times
  • Less Code → No need to repeat logic
  • Easy Maintenance → Update in one place
  • Method Overriding → Customize behavior

Disadvantages of Inheritance

You should also know the downsides:
  • Can make code complex
  • Creates tight coupling
  • Harder to manage in large projects

Final Thoughts (My Advice)

When I started, I tried to learn everything at once—and got confused. What worked for me:
  • Start with simple examples
  • Practice small programs
  • Then move to advanced concepts

Interface Segregation Principle – Simple Explanation with Example

When building applications, we often create classes or interfaces that contain many different methods. At first, this may seem convenient ...