Is multiple inheritance allowed in Java? Why ?
Answers were Sorted based on User's Feedback
Answer / midhun h kumar
No ...
Multiple inheritance is not allowed in Java...
but infact we can achieve the functionality using interfaces...
we can define interfaces and any class can implement these
interfaces..
a class can implement any number of interfaces but can
extend only one class..
thus we can achieve what we expect to get from multiple
inheritance thru interfaces...
| Is This Answer Correct ? | 10 Yes | 2 No |
Multiple inheritance is not allowed in java because it creates
DIAMOND PROBLEM.
DIAMOND PROBLEM: Suppose classes B and C extend A and
class D extends to both B and C(multiple inheritance). Now,
if D calls a method in A then it does not know from which
class it has to inherit(either B or C). This is called
diamond problem.
| Is This Answer Correct ? | 8 Yes | 1 No |
Answer / bhasker tiwari
All the answer given above are True .
but i would like to add few more.
Reasons are follows:
1.As java creates .class for each Java file.and As all java
files has there own variable and methods so incase of
Multiple inheritence all will mess up , so to avoid this
situation Java do not allow Multiple Inheritence.
2. the above discussed Diamond problem is also a Reason.
| Is This Answer Correct ? | 4 Yes | 2 No |
Answer / ravikiran(aptech mumbai)
Not in a direct manner we can achieve it with the help of
interfaces
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / karthik
"Can some one explain about this case.
-> A is a super class and B extends from A.
-> java.lang.Object is super class for all classes.
now in this case B extends from A and B extend from java.lang.Object(because is default super class) then it is multiple inheritence right? "
Mr Suresh Aelidhe,
If a class extends any other class then it wont extends Object class
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / suresh aelidhe
Can some one explain about this case.
-> A is a super class and B extends from A.
-> java.lang.Object is super class for all classes.
now in this case B extends from A and B extend from java.lang.Object(because is default super class) then it is multiple inheritence right?
| Is This Answer Correct ? | 1 Yes | 1 No |
What is difference between hashset and hashmap?
Hi Friends, can you give difference between extending thread class and implementing runnable interface.
What do you mean by compiler?
can java object be locked down for exclusive use by a given thread? Or what happens when a thread cannot acquire a lock on an object? : Java thread
Why array is used in java?
What is the life-cycle of an object?
What is an example of a conditional statement?
what is overloading in java?
13 Answers Ascent, DNS, Infosys, SDA, VelTech,
what are the disadvantages of indexes in oracle?
0 Answers 3i Infotech, Wells Fargo,
What is reverse function?
Explain with example the concept of constant variable in java.
What is encapsulation in java?