Skip to content

Latest commit

 

History

History
13 lines (9 loc) · 594 Bytes

File metadata and controls

13 lines (9 loc) · 594 Bytes

06 — Interfaces & Abstract classes

Interfaces

  • Define a contract: methods without implementation (until default methods in later Java versions).
  • A class implements an interface and must provide implementations for its methods.

Abstract classes

  • Can contain implemented and abstract methods. Use when there's shared code among subclasses.

When to use

  • Use interface for capabilities ("can-do"), abstract class when sharing state/implementation between related classes.

Example: InterfacesAbstractExample.java demonstrates an interface Driveable and an abstract class Vehicle.