
Table of Content –
OOPs, also referred to as Object-Oriented Programming, are among the most fundamental tenets of Java that have benefited from its capability and flexibility.
To become a skilled Java developer, you must master all the Java OOPs concepts, including abstraction, polymorphism, inheritance, and encapsulation. In this article, get a thorough understanding of the most crucial OOPs concepts—java inheritance types—and how it is implemented. In this Article, you will learn about the types of Inheritance in Java.
But before we begin, you can brush up your knowledge on Java and its array by reading this HeroVired article on What are Arrays in Java | Everything You Need to Know.
What is Inheritance in Java?
Inheritance in Java or Java Inheritance is a process where one class can gain property from another class. In Java, the inheritance comes to aid whenever the two classes have an “Is-a” relationship. The parent class is referred to as a superclass, whereas the inherited class is referred to as a subclass. Lets look at the major types of java inheritance.
Check this article on Inheritance in Java to get a better understanding of what this concept is.
Types of Inheritance in Java
As illustrated in the accompanying diagram, several different types of inheritance in java can occur based on the way the classes are inherited and the number of classes that got inherited. Let’s look at the different types of inheritance are observed in Java:
Single Inheritance
In this type of java inheritance, the class inherits the properties of some other class. It allows derived classes to take properties and behavior from a single-parent class. In turn, this will make it possible to reuse current code and give it new functionalities.
Here, Class A serves as the parent class, while Class B, the child class, inherits the traits and characteristics of the parent class. The following code shows a comparable idea:
class Animal{ void eat(){System.out.println(“eating”);} } class Dog extends Animal{ void bark(){System.out.println(“barking”);} } class TestInheritance{ public static void main(String args[]){ Dog d=new Dog(); d.bark(); d.eat(); } }
Multi-Level Inheritance
Multi-level type of java inheritance comes with a chain of inheritance. This indicates that we feature a parent class which a derived class inherits. The derived class then serves as the parent to the next class, and so forth.
There is a dog class descended from the Animal class, sticking with the Animal class example from below. Another great option is the puppy class – a young dog descended from the Dog class. This way, you can possess a tiered inheritance.
class Animal{ void eat(){System.out.println(“eating…”);} } class Dog extends Animal{ void bark(){System.out.println(“barking…”);} } class Puppy extends Dog{ void weep(){System.out.println(“weeping…”);} } class TestInheritance2{ public static void main(String args[]){ Puppy d=new Puppy(); d.weep(); d.bark(); d.eat(); } }
Multiple Inheritances
In this type of java inheritance, a class may have more than one parent, or there may be many inheritances, in which case it may inherit properties from other classes. By doing this, the class can have several superclasses and hence inherit the traits of each of them.
Note that Java does not provide multiple class-based inheritances. However, it allows for multiple inheritances through interfaces, which we will cover in more detail in our upcoming tutorial on inheritance.
Hierarchical Inheritance
This type of java inheritance is where many subclasses inherit from one single class. Basically it is a combination of more than one type of java inheritance. When a class contains several child classes or subclasses, or, to put it another way, when multiple child classes share the same parent class, this type of inheritance is referred to as hierarchical.
class Animal{ void eat(){System.out.println(“eating…”);} } class Dog extends Animal{ void bark(){System.out.println(“barking…”);} } class Cat extends Animal{ void meow(){System.out.println(“meowing…”);} } class TestInheritance3{ public static void main(String args[]){ Cat c=new Cat(); c.meow(); c.eat(); } }
Hybrid Inheritance
Hybrid type of java inheritance is a combination of more than two types of java inheritances single and multiple. A hybrid inheritance combines a single or more of the inheritance types we’ve covered so far. Any combination, though, leads to a form of multiple inheritances that Java does not support.
Conclusion
Now we have learned, what are the major type of java inheritance and their examples and uses. However, the idea of inheritance is much more complex. It takes mastery of Java’s intricate programming to succeed in the development field. Learning Full Stack Development With Cloud For Web and Mobile with HeroVired is the ideal option if you have aspirations in Java and product development.
Check why Python and Javascript are loved by developers, and you’ll better understand why people are now pursuing a career in this specific coding field. The knowledge gained from HeroVired programming courses will assist in opening doors for careers in software development, websites, javascript developers, etc.