Lec16 Inheritance-2
Lec16 Inheritance-2
1. Single inheritance
2. Multiple inheritance
3. Multilevel inheritance
4. Hybrid inheritance
5. Hierarchical inheritance
1. Simple or Single inheritance
In this only one super class and only one sub class called as single level inheritance
package com.single.inheritance;
public class A {
void m1() {
System.out.println("super class- m1 ()
method");
}
}
package com.single.inheritance;
void m2() {
System.out.println("sub class - m2() method");
}
package com.single.inheritance;
B b = new B();
b.m1();
b.m2();
}
}
2. Multilevel inheritance
It has only one base class and multiple derived class called as multilevel. Or it refers
to the concept of one class extending (Or inherits) more than one base class.
package com.multilevel.inheritance;
public class A {
void m1() {
System.out.println("Class A- m1 () method");
}
}
package com.multilevel.inheritance;
void m2() {
System.out.println("Class B- m2 method");
}
}
package com.multilevel.inheritance;
void m3() {
System.out.println("Class c- m3 () method");
}
C c= new C();
c.m1();
c.m2();
c.m3();
}
}
3. Multiple inheritance
One class has many super classes called as multiple inheritance.
Why multiple inheritance not supported in java in case of classes?
Class base has test () method and class derived has also test () method. Class test extends
Base, Derived, which test method It will called, so it create the ambiguity so that’s why
multiple inheritance does not supports in java.
package com.multiple.inheritance;
public class A {
void m1() {
}
}
package com.multiple.inheritance;
public class B {
void m1() {
}
}
package com.multiple.inheritance;
C c= new C();
c.m1();
}
}
4. Hierarchical inheritance
One class is inherited by many sub classes called as.
package com.hierachical.inheritance;
public class A {
void m1() {
System.out.println("Class A- m1 () method");
}
}
package com.hierachical.inheritance;
void m2() {
System.out.println("Class B- m2() method");
}
}
package com.hierachical.inheritance;
void m3() {
System.out.println("Class c m3 method");
}
}
package com.hierachical.inheritance;
public class D {
B b = new B();
C c = new C();
b.m1();
b.m2();
c.m3();
}
}
5. Hybrid inheritance
It is the combination of single and multiple inheritance. So it is not allowed in
java.
Example-
Class Employee{
Int id;
String firstName;
String lastName;
Address address;
}
Class Address {
String streetNo;
String city;
String state;
String country;
}