Java allows multiple inheritance with interfaces but not with implementations.
This helps if two interfaces define the same method signature. It doesn't matter which interface defined the method if a class implements both. So there is no problem in resolving which code to call as it would be when two super classes would provide method implementations for methods with the same signature.
It doesn't help when methods in different interfaces are not compatible, i.e. have different return types or have generified types that lead to the same method signature after type erasure.
Oh, and obviously it doesn't allow you to pull in code from different base implementations.
Why Multiple Inheritance is not supported in Java Classes?...
What i think is...
Multiple Inheritance is nothing but different characteristics of two or more parent classes is inherited by Children classes. Same characteristic from two or more parent class would take into Children class to dilemma of what class to select to inherit that characteristic.
Since all Java classes is designed in such a way of extending "Object" class... So, Multiple Inheritance property falls short due to this design... So Multiple Inheritance property is brought into Java in form of Interfaces...
No, Java does not allow multiple inheritance at all. Using Object does not constitute multiple inheritance, only a longer inheritance "tree". An interface extending several other interfaces does not constitute multiple inheritance.
Implementing multiple interfaces does not constitute multiple inheritance either, but it allows one to mimic it.