In questa lezione analizziamo le gerarchie chiuse in Java 17+: come dichiarare classi e interfacce con il modificatore
sealed, indicare gli eredi consentiti tramite
permits, scegliere lo stato degli eredi (
final,
sealed,
non-sealed) e perché ciò rafforza la verificabilità di
switch con pattern matching senza il ramo
default. Vedremo esempi con modelli di dominio, l’interazione con
interface e
record, nonché gli errori tipici.