In an white paper titled “Java: an Overview” by James Gosling in February 1995 gives an idea on why multiple inheritance is not supported in Java.
JAVA omits many rarely used, poorly understood, confusing features of C++ that
in our experience bring more grief than bene?t. This primarily consists of
operator overloading (although it does have method overloading), multiple
inheritance, and extensive automatic coercions.
Who better than Dr. James Gosling is qualified to make a comment on this. This
paragraph gives us an overview and he touches this topic of not supporting
multiple-inheritance.
First lets nail this point. This itself is a point of discussion, whether java
supports multiple inheritance or not. Some say, it supports using interface. No.
There is no support for multiple inheritance in java. If you do not believe my
words, read the above paragraph again and those are words of the father of Java.
This story of supporting multiple inheritance using interface is what we
developers cooked up. Interface gives flexibility than concrete classes and we
have option to implement multiple interface using single class. This is by
agreement we are adhering to two blueprints to create a class.
This is trying to get closer to multiple inheritance. What we do is implement
multiple interface, here we are not extending (inheriting) anything. The
implementing class is the one that is going to add the properties and behavior.
It is not getting the implementation free from the parent classes. I would
simply say, there is no support for multiple inheritance in java.