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 |
Can static methods be overridden?
Can we call thread start () twice?
What is java dot?
whats the life cycle of jsp
how to convert mm/dd/yy to dd/mm/yy using collections in java.
What is the purpose of a default constructor?
How to convert a string to long?
Hi, well i am unable to understand that why it is mandatory to have same hashcode, if two objects are same? Thanks in advance.
Explain the role played by Java Virtual Machine in Java Programming?
what is platform native code
What is Enum in Java?
What language is an assembler written in?