Records and Sealed Hierarchies

Records are concise data carriers. Sealed types restrict extension to a known set.

sealed interface Shape permits Circle, Rectangle {}

record Circle(double radius) implements Shape {}
record Rectangle(double width, double height) implements Shape {}

Together, these features help model closed domains where the variants are intentionally known.

Key Takeaways
  • Records reduce boilerplate for data carriers.
  • Sealed types explicitly close an inheritance hierarchy.
  • The combination is useful for finite domain variants.