Inheritance in java
Inheritance is the class acquire the another class.parents class acquire the child class.
Types of Inheritance
- Single Inheritance
- Multilevel Inheritance
- Multiple Inheritance
- Hierarchical Inheritance
- Hybrid Inheritance
1. Single Inheritance
Single Inheritance is the parents class acquire only one child class.
class A ↑ class B
Example
class A { A() { System.out.println("From Class A"); } } class B extends A { B() { System.out.println("From Class B"); } } public class Main { public static void main(String[] args) { B obj = new B(); } }
Output
From Class A From Class B
2. Multilevel Inheritance
Some class having parents class and child class.That is Multilevel Inheritance.
class A ↑ class B ↑ class C
Example
class A { A() { System.out.println("From Class A"); } } class B extends A { B() { System.out.println("From Class B"); } } class C extends B { C() { System.out.println("From Class C"); } } public class Main { public static void main(String[] args) { C obj = new C(); } }
Output
From Class A From Class B From Class C
3. Multiple Inheritance
Multiple Inheritance is one parents class having two or more child class.Unfortunate , java can't accept Multiple Inheritance.
class A class B ↖ ↗ class C
4. Hierarchical Inheritance
Some class having two or more child class that is call Hierarchical Inheritance.
class A ↗ ↖ class B class C
Example
class A { A() { System.out.println("From Class A"); } } class B extends A { B() { System.out.println("From Class B"); } } class C extends A { C() { System.out.println("From Class C"); } } public class Main { public static void main(String[] args) { C obj = new C(); } }
Output
From Class A From Class C
5. Hybrid Inheritance
Hybrid Inheritance is combination of another types of inheritance.
Example
class A { A() { System.out.println("From Class A"); } } class B extends A { B() { System.out.println("From Class B"); } } class C extends B { C() { System.out.println("From Class C"); } } class D extends B { D() { System.out.println("From Class D"); } } public class Main { public static void main(String[] args) { D obj = new D(); } }
Output
From Class A From Class B From Class D