Types of Inheritance
1. Five Types (beginner map!)
Single (one parent) → Multilevel (chain) → Hierarchical (siblings) → Multiple (two parents — BANNED for classes!) → Hybrid (mix!). Java allows ALL via classes EXCEPT multiple (use interfaces!).
class A {}
class B extends A {} // SINGLE (B ← A)
class C extends B {} // MULTILEVEL (C ← B ← A, gets all!)
class D extends A {} // HIERARCHICAL (B,D siblings ← A!)
// class E extends B, D {} // MULTIPLE — ERROR! (diamond confusion!)
interface I1 { void x(); } interface I2 { void y(); }
class F implements I1, I2 { // MULTIPLE via interfaces (LEGAL!)
public void x() {} public void y() {}
}
Interfaces fix: default clash must be overridden explicitly (compiler forces choice!).
4. Exam Table
| Type | Java class? | Example |
|---|---|---|
| Single | Yes | Dog extends Animal |
| Multilevel | Yes | Puppy extends Dog extends Animal |
| Hierarchical | Yes | Cat,Dog extends Animal |
| Multiple (class) | NO | use interfaces! |
| Hybrid | via interfaces | class + interfaces mix |
5. Exam Points
- Five types + diagram + diamond reason — 7 marks, very frequent.
- Multiple-ban + interface fix — 5 marks, favourite.