File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Java in General and the fly likes MULTIPLE IMPLEMENTATION INHERITANCE Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Java Interview Guide this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Java » Java in General


thomas davis
Ranch Hand

Joined: Feb 01, 2003
Posts: 207
This question is being asked several times in this forum,Still I am not able to understand the concept.If somebody can explain it with real object examples(layman explanation)
Why java does not support multiple implementation inheritance? And at the same time C++ does support the multiple implementation inheritance, how does C++ support multiple implementation inheritance? If C++ can support multiple implementation inheritance, why java can�t? I would like to know the reason for not supporting multiple implementation inheritance and where it will create problem for the developers if they use multiple implementation inheritance in java?
If somebody knows about it, please try to explain it with examples and proper reasoning.
Rob Ross

Joined: Jan 07, 2002
Posts: 2205
Sounds very much like a homework assignment, but in any event, Java doesn't support multiple inheritance because its inventor, James Gosling thought (rightly so) it made things Too Complicated. Multiple inheritance causes more problems than it solves, including implementation collisions/ambiguities that are very hard to design around. Plus it led to sloppy coding styles in C++.
With interfaces you get most of the benefits of actual multiple inheritance without a lot of the same problems.
Yea, I know, some people think differently but hey, it works for me.
James Gosling

SCJP 1.4
Joel McNary

Joined: Aug 20, 2001
Posts: 1824

This thread provides a good description of the drawbacks of multiple inheritance and illustrates those drawbacks using objects. (BTW, Michael Morris gets applause for his fine use of (crypto-) zoology in the referenced thread )
I am pleased to see that the article in the prior post mentioned Objective C. Unlike most people, I come to Java from extensive experience using Objective C. I was wary about coming to Java when I first started for fear that it would prohibit many of the "neat" things we were doing in Objective C. Then I happily discovered that, while syntatically it may look like C++, semantically it takes a lot from the Objective C / Smalltalk world (interfaces, forcing everything to inherit from one base class, Reflection, etc.)
[ May 29, 2003: Message edited by: Joel McNary ]

Piscis Babelis est parvus, flavus, et hiridicus, et est probabiliter insolitissima raritas in toto mundo.
I agree. Here's the link:
jQuery in Action, 3rd edition