Multiple Inheritance: ===================== ==> Creating the Class by inheriting the properties from two classes is called as multiple inheritance" ==> While creating the new class, data and/or methods can use in the new class which are already defined in two classes. ==> The object of child class can acquire the data/methods/both from both two parent classes. ==> The Multiple Inheritance is not possible to implement at class level. Why Java does not support Multiple Inheritance with classes? ============================================================= 1) While implementing the multiple inheritance with class in java: we can occur, ambiguity issue in calling parent class constructor and calling parent class method. class C1{ void m1() { System.out.println("m1() in Class c1"); } } class C2{ void m1() { System.out.println("m1() in Class c2"); } } class C3 extends C1,C2{ void m3() { super();// ? super.m1(); // can help to invoke the parent class method/data member } } ========================================== 2) class Abc{ void m1() { System.out.println("m1() is calling in Class Abc"); } class Pqr{ void m2() { System.out.println("m2() is calling in class Pqr"); } } class Xyz extends Abc,Pqr{ void m3() { super(); super.m1(); } } ==> In this example, there is no ambiguity while calling parent class method but still we are having the ambiguity while calling the parent class constructor. ====================================================== Ex: 3 ===== class A{ A(int x) { } void m1() { System.out.println("m1() is from Class A"); } } class B{ B(){} // parameter less constructor void m2() { System.out.println("m2{} is from Class B"); } } class C extends A,B{ C(){ super(10); super(); } void m3() { super.m1(); } } ==> Here, we have used two super() calls in the child class constructor to invoke the two parent class constructors. In general, the super() call is always be the first statement within the constructor but if we can add the super() call as other than the first statement, we can get error. So, we can't implement the multiple inheritance with classes in Java. ==> To implement multiple inheritance, the interface can be used. Because, the interface cannot have the constructor.