Why is multiple inheritance not supported in java?

  1. To reduce the complexity and simplify the language, multiple inheritance is not supported in java.
  2. Consider a scenario where A, B, and C are three classes. The C class inherits A and B classes.
  3. If A and B classes have the same method and you call it from child class object, there will be ambiguity to call the method of A or B class.
  4. Since the compile-time errors are better than runtime errors, Java renders compile-time error if you inherit 2 classes.
  5. So whether you have the same method or different, there will be a compile time error.
class A{  
void msg(){System.out.println("Hello");}  
}  
class B{  
void msg(){System.out.println("Welcome");}  
}  
class C extends A,B{//suppose if it were  
   
 Public Static void main(String args[]){  
   C obj=new C();  
   obj.msg();//Now which msg() method would be invoked?  
}  
}  

It gives a compile time error

Posted on by