В лекции разбираем закрытые иерархии в Java 17+: как объявлять классы и интерфейсы с модификатором
sealed, указывать допустимых наследников через
permits, выбирать статус наследников (
final,
sealed,
non-sealed) и почему это усиливает проверяемость
switch с pattern matching без ветки
default. Посмотрим на примеры с доменными моделями, взаимодействие с
interface и
record, а также типичные ошибки.