Java Core middle

Sealed Classes (Java 17+)?

Ответ

Ограничение иерархии наследования: sealed class Shape permits Circle, Square. Компилятор гарантирует exhaustive switch. Связка с Pattern Matching for switch (Java 21).

Разбор: sealed разрешает наследование только классам из списка permits (а не запрещает его полностью), при этом каждый наследник обязан быть final, sealed или non-sealed — иначе код не скомпилируется. Замкнутость иерархии позволяет компилятору проверять exhaustive switch и хорошо сочетается с pattern matching (Java 21). Ловушки: sealed ≠ final, permits именно ограничивает круг наследников, а сами наследники должны явно объявить свою «замкнутость».

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться