thepointman.dev_

Courses / Java Language

OOP Internals

intermediate10 lessons

Beyond the textbook OOP: the virtual table (vtable) and how method dispatch actually works, overriding vs overloading vs hiding, calling overridden methods from constructors (the dangerous trap), interface evolution from Java 7 to 17, and when inheritance is the wrong tool.

// Lessons

  1. 01

    Encapsulation — Invariants, Defensive Copying and Tell-Don't-Ask

    soon
  2. 02

    Constructors and Initialisation — The Order You Must Know

    soon
  3. 03

    Calling Overridden Methods from Constructors — The Dangerous Trap

    soon
  4. 04

    The Virtual Table (vtable) — How Method Dispatch Actually Works

    soon
  5. 05

    Overriding vs Overloading vs Hiding — The Three Cases

    soon
  6. 06

    Covariant Return Types and the Bridge Method Connection

    soon
  7. 07

    Abstract Classes — State, Constructors and Partial Implementation

    soon
  8. 08

    Interfaces from Java 7 to 17 — default, static, private, sealed

    soon
  9. 09

    IS-A vs HAS-A — When Inheritance Is the Wrong Tool

    soon
  10. 10

    final and the JIT — How final Methods Enable Inlining

    soon