Why java does not supports multiple inheritance?
Answers were Sorted based on User's Feedback
Inheritance:
The concept of getting properties of one class object to another class object is known as inheritance.
Here properties means variable and methods.
Types of Inheritance:
Multiple inheritance.
Multilevel inheritance.
Multiple inheritance:
The concept of Getting the properties from multiple class objects to sub class object with same priorities is known as multiple inheritance.
Java Doesn't Support multiple Inheritance.
Diamond problem:
In multiple inheritance there is every chance of multiple properties of multiple objects with the same name available to the sub class object with same priorities leads for the ambiguity.
//Multiple inheritance program
Class A{
}
Class B extends A{
public void show(){
}
}
Class C extends A{
public void show(){
}
}
Class D extends B,C{ // not supported by java leads to syntax error.
}
Why multiple inheritanc eis not possible in java
We have two classes B and c which are inheriting A class properties.
Here Class D inheriting B class and C class So properties present in those classes will be available in java.
more http://www.instanceofjava.com/2014/12/why-java-does-not-supports-multiple.html
| Is This Answer Correct ? | 15 Yes | 0 No |
Answer / mahendra kola
Java Does not support multiple inheritance because java is a simple programming language, but here may be we can get ambiguity
The process of getting variable and methods from more then one class to one or more number of sub classes is called as multiple inheritances.
if we write java program like bellow we get ambiguity problem ....
class A
{
public int n=10;
public void m1(){
System.out.println("A class Method");
}
}
class B
{
int n=20;
public void m1(){
System.out.println("B class Method");
}
}
class C extends A,B
{
System.out.println(n);
public static void main(String[] args){
System.out.println("Child Class");
}
}
• Incase of multiple inheritance, if declare the same variables with deferent values and same methods with different with implementation at two super classes then if we access that variables and methods at the respective subclass then which super class variable will be accessed and which super class methods will be accessed is a confusion state.
• Java is a simple programming language, it should not allowed confusion oriented features, due to this reason, java has not allowed multiple inheritances.
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / shree
Multiple inheritance eliminated from java because it leads to confusion in many of cases & causes ambiguity.
So to avoid that complexity java does not support multiple inheritance.
/Multiple inheritance program
Class A
{
public void show(){.....}
}
Class B extends A
{
public void show(){.....}
}
Class C extends A{
public void show(){......}
}
Class D extends B,C{ // not supported by java leads to syntax error.
}
Here class D will get confuse which show() method to execute as there are 2 show() methods are available inherited from class B & C.
but to provide functionality of inheritance java provides new concept called INTERFACE.
| Is This Answer Correct ? | 0 Yes | 0 No |
What is the gregoriancalendar class in java programming?
What is the primary benefit of encapsulation?
what is polymorhism what is inheritance? what is Abstract n Interface? what if two interfaces have same method and a concrete class is implementing both the interfaces. Will there be a compilation error? What are mutable and immutable classes? How can u make a class mutable? when will u use dem ...explain with example? what is overriding and overloading? what is garbage collection? what is Thread? how do dey communicate? what are the different ways of implementing ? have u used any messaging technologies? what is synchronization? what are some additions in java 1.5? what are generics? whst is advanced for loop? what is finally block? can u have a try in finally? yes!! can u have a finally in finally? how do you write junits? when is a object eligible for garbage collection?explain? a = null and b has ref to a will b be eligible to be garbage collected? sql questions like diff joins? how do dey work? exception handling? what is marker interface? what is the need??
How is treeset implemented in java?
what is synchronization and why is it important? : Java thread
What are thread groups?
How many types of java are there?
Can we use this () and super () in a method?
Which method returns the length of a string?
How do you convert boolean to boolean?
Explain about main() method in java ?
can anyone explain me the concept of autoboxing?