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 why we can't inharit more than one class ? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Java in General
Bookmark "why we can Watch "why we can New topic

why we can't inharit more than one class ?

Jigar Naik
Ranch Hand

Joined: Dec 12, 2006
Posts: 761
why we can't inharit more than one class ???

Jigar Naik

Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 15092

Having more than one base class is called multiple inheritance. C++ supports this, Java does not.

In practice, you never really need multiple inheritance, and it leads to dilemmas like the Diamond problem.

The designers of the Java language decided that multiple inheritance wasn't needed and that it only would make the language unnecessarily complicated, so they left it out.
[ May 17, 2007: Message edited by: Jesper Young ]

Java Beginners FAQ - JavaRanch SCJP FAQ - The Java Tutorial - Java SE 8 API documentation
Campbell Ritchie

Joined: Oct 13, 2005
Posts: 46397
As Jesper Young said, because the designers of Java thought it made things too complicated. Whoever designs a language has to make such decisions.
I found a paper yesterday [Martin P (1998): Java, the good, the bad and the ugly ACM SIGPLAN Notices archive 33: 34 - 39] which says the multiple inheritance model in C++ is poor and Eiffel has a better model.
Ricky Clarkson
Ranch Hand

Joined: Jul 27, 2006
Posts: 131
In my opinion, single inheritance is one too many. There are better forms of code reuse.
I agree. Here's the link:
subject: why we can't inharit more than one class ?
It's not a secret anymore!