Logo 
Search:

Java Answers

Ask Question   UnAnswered
Home » Forum » Java       RSS Feeds
  Question Asked By: Robert Richardson   on Sep 26 In Java Category.

  
Question Answered By: Brandon Tucker   on Sep 26

Whenever you find  yourself asking why Java has or does
not have some feature, consider the design goals
behind the Java language.

As the white paper states, the Java design team strove
to make Java:
1.Simple, object  oriented, and familiar
2.Robust and secure
3.Architecture neutral and portable
4.High performance
5.Interpreted, threaded, and dynamic
The reasons for omitting multiple  inheritance from the
Java language mostly stem from the "simple, object
oriented, and familiar" goal. As a simple language,
Java's creators wanted a language that most developers
could grasp without extensive training. To that end,
they worked to make the language as similar to C++ as
possible (familiar) without carrying over C++'s
unnecessary complexity (simple).

In the designers' opinion, multiple inheritance  causes
more problems and confusion than it solves. So they
cut multiple inheritance from the language (just as
they cut operator overloading). The designers'
extensive C++ experience taught them that multiple
inheritance just wasn't worth the headache.

Instead, Java's designers chose to allow multiple
interface inheritance through the use of interfaces,
an idea borrowed from Objective C's protocols.
Multiple interface inheritance allows an object to
inherit many different method  signatures with the
caveat that the inheriting object must implement those
inherited methods.

Multiple interface inheritance still allows an object
to inherit methods and to behave polymorphically on
those methods. The inheriting object just doesn't get
an implementation free ride.

Share: 

 

This Question has 1 more answer(s). View Complete Question Thread

 
Didn't find what you were looking for? Find more on why java doesn't supprot multiple inheritance Or get search suggestion and latest updates.


Tagged: