Idea Transcript
Home
Core Java
JAVA TUTORIAL
Java Introduction
OOPs
Collections
Java I/O
JSON
JSP
JSTL
Servlet
C Tutorial
DBMS
Types of inheritance in Java: Single,Multiple,Multilevel & Hybrid BY CHAITANYA SINGH | FILED UNDER: OOPS CONCEPT
JVM - Java Virtual Machine First Java Program Variables Data Types Operators Java If-else Java Switch-Case
Below are Various types of inheritance in Java. We will see each one of them one by one with the help of examples and flow diagrams.
1) Single Inheritance Single inheritance is damn easy to understand. When a class extends another one class only
Java For loop
then we call it a single inheritance. The below flow diagram shows that class B extends only one
Java while loop
class which is A. Here A is a parent class of B and B would be a child class of A.
Java do-while loop Continue statement break statement OOPS CONCEPTS
OOPs Concepts Constructor Static keyword Inheritance Types of inheritance Aggregation
Single Inheritance example program in Java Class A { public void methodA() { System.out.println("Base class method"); }
Association
}
Super Keyword
Class B extends A
Method overloading
{
Method overriding
{
Overloading vs Overriding
public void methodB() System.out.println("Child class method"); } public static void main(String args[])
Polymorphism
{
Types of
obj.methodA(); //calling super class method
polymorphism Static and dynamic binding Abstract class and methods Interface Abstract class vs interface
B obj = new B(); obj.methodB(); //calling local method } }
2) Multiple Inheritance “Multiple Inheritance” refers to the concept of one class extending (Or inherits) more than one base class. The inheritance we learnt earlier had the concept of one base class or parent. The problem with “multiple inheritance” is that the derived class will have to manage the dependency on two base classes.
Encapsulation Packages Access modifiers Garbage Collection Inner classes Static import Static constructor
Note 1: Multiple Inheritance is very rarely used in software projects. Using Multiple inheritance
Java Interview Q
often leads to problems in the hierarchy. This results in unwanted complexity when further
MORE ...
extending the class. Note 2: Most of the new OO languages like Small Talk, Java, C# do not support Multiple
Java String Exception handling Java Multithreading Java I/O Java Serialization Java Regex
inheritance. Multiple Inheritance is supported in C++.
3) Multilevel Inheritance Multilevel inheritance refers to a mechanism in OO technology where one can inherit from a derived class, thereby making this derived class the base class for the new class. As you can see in below flow diagram C is subclass or child class of B and B is a child class of A. For more details and example refer – Multilevel inheritance in Java.
Java AWT Java Swing Java Enum Java Annotations
Multilevel Inheritance example program in Java Class X { public void methodX() { System.out.println("Class X method"); } } Class Y extends X { public void methodY() { System.out.println("class Y method"); } } Class Z extends Y { public void methodZ() { System.out.println("class Z method"); } public static void main(String args[]) { Z obj = new Z(); obj.methodX(); //calling grand parent class method obj.methodY(); //calling parent class method obj.methodZ(); //calling local method } }
4) Hierarchical Inheritance In such kind of inheritance one class is inherited by many sub classes. In below example class B,C and D inherits the same class A. A is parent class (or base class) of B,C & D. Read More at – Hierarchical Inheritance in java with example program.
5) Hybrid Inheritance In simple terms you can say that Hybrid inheritance is a combination of Single and Multiple inheritance. A typical flow diagram would look like below. A hybrid inheritance can be achieved in the java in a same way as multiple inheritance can be!! Using interfaces. yes you heard it right. By using interfaces you can have multiple as well as hybrid inheritance in Java. Read the full article here – hybrid inheritance in java with example program.
Enjoyed this post? Try these related posts 1. Does Java support Multiple inheritance? 2. Multilevel inheritance in java with example 3. Java – Default constructor with example 4. Cloneable Interface in Java – Object Cloning 5. Java static constructor – Is it really Possible to have them in Java? 6. Tag or marker interfaces in Java
Comments
sami says APRIL 21, 2014 AT 5:56 PM
it is one of the most beautiful notes. i easily understand. Thanks for this…… Reply
yuvraj patil says MAY 22, 2014 AT 6:06 PM
explain the Hybrid Inheritance with example in details ? thnx Reply
Kultaran singh says MAY 29, 2014 AT 2:13 AM
good example in easy way Reply
joshy says AUGUST 1, 2014 AT 11:21 AM
i did’t understand multiple inheritence in java concept … plz give me brief information of multiple inheritance in java…… Reply
Chaitanya Singh says NOVEMBER 15, 2014 AT 8:40 AM
Refer this article: https://beginnersbook.com/2013/05/java-multipleinheritance/ Reply
nishant khari says MARCH 30, 2016 AT 6:04 PM
multiple-inheritance supported in java through interface ,so go through interface topic. Reply
mani says JANUARY 26, 2017 AT 9:22 AM
java does not support multiple inheritence Reply
aslamraza says SEPTEMBER 4, 2014 AT 7:31 AM
please list out the programming languages that support different inheritances thank you !!!!!!!!!!!!!!! Reply
sanjay thakor says SEPTEMBER 11, 2014 AT 6:34 PM
good material for easy self learning Reply
yogini says AUGUST 5, 2015 AT 3:26 AM
finally what is the answer? does java supports multiple inheritance?????????????????????? because i cant understand ..on the top its written that java does support but on the otherhand it says that it doesnt. Reply
Shubham Sikarwar says OCTOBER 31, 2015 AT 12:18 AM
Java does not support Multiple inheritance or Hybrid inheritance directly!!!! BUT……it can be implemented using Interfaces as described above in the article!!!(Jugaad)!! Reply
Mark says FEBRUARY 16, 2016 AT 10:37 AM
There is no multiple inheritance in java, even with interface. we are indirectly just achieving it because in interface we are just extending only the empty methods, not the body. Reply
Tushar Jadhav says AUGUST 21, 2015 AT 9:55 AM
java does not support Multiple Inheritance Reply
Lenin says SEPTEMBER 17, 2015 AT 7:02 AM
I need the multiple, hybrid, hierarchical inheritance example programs…. Reply
Chaitanya Singh says SEPTEMBER 17, 2015 AT 12:01 PM
Hey Lenin, Please refer the links provided in the post for the examples of each type of inheritance. Reply
Brian says SEPTEMBER 23, 2015 AT 10:16 PM
You DO NOT inherit from interfaces!! Nothing is defined in an interface therefore you have nothing to inherit. You IMPLEMENT an interface, and yes you can implement multiple interfaces in Java. Java DOES NOT allow for multiple inheritance or hybrid inheritance (diamond inheritance). Reply
Arti Priya says SEPTEMBER 14, 2016 AT 3:38 PM
ONE OF THE BEST SITE, KEEP IT UP GUYS!! Reply
gayathri says NOVEMBER 4, 2016 AT 11:24 AM
I need hierarchical example program Reply
Sabina says MARCH 23, 2017 AT 10:26 AM
Amazing notes!Thank you! Simple and easy to understand with examples :) Reply
Jay says JUNE 17, 2017 AT 12:35 PM
Nice and helpful brief explanation, even for beginner or for some one who just wants to brush up the knowledge. Reply
Leave a Reply Your email address will not be published. Required fields are marked * Comment
Name *
Email *
Website
POST COMMENT
Copyright © 2012 – 2018 BeginnersBook - All Rights Reserved || Sitemap
Perl
Search this website …