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 |
Make a data structure and implement an algorithm to print all the files in a directory. (The root directory can have sub-directories too.)
Why are the objects immutable in java?
How many types of exception can occur in a java program?
Can you explain the usages of class.forname()?
What language is java written?
What is difference between core java and java ee?
Write a program to check string is palindrome without using loop?
What is the need of "creating and throwing an UserdefinedException" when the "Exception" class is already available?
How are Observer and Observable used?
what methods would you overwrite in java.lang.object class?
What is type conversion in java?
What is join () in java?