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 a singleton puppy?
How to extract HashMap values?
What is an i/o filter?
we r taking <load-on-startup>0</load-on-startup> <load-on-startup>1</load-on-startup> in deployment descripter for loading servlets like serv1 N serv2? so 'll it take serv1 or serv2
Lowest Common ancestor in a Binary Search Tree and Binary Tree.
What is the difference between throw and throws?
What is a lambda expression ? What's its use ?
what is mean by thread lock?
Distinguish between a predicate and a function?
What is the relationship between clipping and repainting under awt?
Difference between abstract class and Interfaces?
7 Answers CTS, iFlex, PA Consulting, Sai Softech, Value Chain,
What is final method?