Nearby lessons

37 of 125

Java - Polymorphism

📌 What You Will Learn
  • What class and object mean, with real-life examples
  • The four pillars: Encapsulation, Abstraction, Inheritance, Polymorphism
  • Constructors, this, super, static and final
  • Method overloading and method overriding (with a comparison table)
  • Abstract classes and interfaces (including the modern changes)
  • Association, Aggregation and Composition

Polymorphism is a core concept of the Java language. This lesson explains instanceof Operator with complete, runnable code examples, clear step-by-step explanations, and common mistakes to avoid with exam-style MCQs at the end.

instanceof Operator

instanceof checks whether an object is of a particular class (or its child class). It returns true or false.

Modern note: from Java 16, pattern matching lets us combine the check and the cast in one line: if (obj instanceof String s) { System.out.println(s.length()); }

Example01
JCode Cell
1Animal a = new Dog();
2System.out.println(a instanceof Dog); // true
3System.out.println(a instanceof Animal); // true
4System.out.println(a instanceof Cat); // false
📝 Key Takeaways
  • Class = blueprint; Object = real thing made from it (memory in heap).
  • Four pillars: Encapsulation (hide data), Abstraction (show only essentials), Inheritance (reuse parent code), Polymorphism (one name, many forms).
  • Overloading = same class, different parameters, decided at compile time. Overriding = child redefines parent method, decided at run time.
  • Constructor initialises the object; name = class name, no return type.
  • this = current object; super = parent class; static = belongs to class; final = cannot change.
  • abstract class cannot be instantiated; interface is a contract a class implements.
  • Association (weak), Aggregation (has-a, part independent), Composition (strong has-a, part dies with whole).

🧠 Test Your Knowledge

1 Questions
Progress: 0 / 1