why java not supproting multiple inheritance?
Answers were Sorted based on User's Feedback
Answer / aman kr. aggarwal
well as in c++ we have multiple inheritance, but not in java
becz if it is their then having method of same signature
(means same return type, list of paraments, access
specifiers) in 2 different classes and both r extended by
some class AA then while calling method in base class, it
would break down the jvm that to which classes method to be
called.
EX:-
class BB
{
public void a(int x)
{
System.out.println("call from BB");
}
}
class CC
{
public void a(int x)
{
System.out.println("call fro CC");
}
}
class AA extends BB,CC
{
a(5);
}
| Is This Answer Correct ? | 6 Yes | 1 No |
Answer / tulasi prasad
java does not support multiple inheritance directly because
if we r deriving a sub class from 2 super classes which are
as follows
class A
{
void meth()
{
// substraction;
}
}
class B
{
void meth()
{
// Addition;
}
}
class C extends A,B
{
meth()<--- system get into confusion whether its add
or substarct.
}
| Is This Answer Correct ? | 2 Yes | 0 No |
Answer / ershad
BCoz of DIAMOND Problem......if A extends B & B extends
A..in this case b wil override the methods of A class..if c
Extends A ..in this case C wil hav Both the properties of
A,B ....if D extends A which properties should D
inherits ..if it B,C propetries Bcoz B are having the same
methods of A & c is having the same methods of A...there
occurs the Diamond problem..
| Is This Answer Correct ? | 2 Yes | 1 No |
Answer / venkatachalapathy
Java doesn’t provide multiple inheritance (MI), at least
not in the same sense that C++ does. Like
protected, MI seems like a good idea but you know you need
it only when you are face to face with a
certain design problem. Since Java uses a singly-rooted
hierarchy, you’ll probably run into fewer situations in
which MI is necessary. The interface keyword takes care of
combining multiple interfaces.
| Is This Answer Correct ? | 0 Yes | 0 No |
What is general methodology?
Is a char always 1 byte?
How concurrent hashmap works?
Can a final variable be manipulated in java?
What is final?
Which is a valid identifier?
What is the difference between numeric and integer?
What does yield method of the thread class do?
What are variable names?
Explain reverse a linked list recursive java solution?
long d =10;int i =0;i=d; /// is this possible? If d is very long number (10 digits or some thing) then?
What is unicode?