Можно ли создавать наследование от класса, объявленного как Sealed, в языке Java?

В языке Java класс, объявленный как sealed, ограничивает круг классов, которые могут от него наследоваться.

Короткий ответ

Что ответить на собеседовании

В языке Java класс, объявленный как sealed, ограничивает круг классов, которые могут от него наследоваться. Наследование от sealed класса возможно, но только если подкласс явно указан в списке разрешённых наследников (permits) в объявлении sealed класса.

Подробный разбор

Ответ с пояснениями

В языке Java класс, объявленный как sealed, ограничивает круг классов, которые могут от него наследоваться. Наследование от sealed класса возможно, но только если подкласс явно указан в списке разрешённых наследников (permits) в объявлении sealed класса.

Пример:

public sealed class Shape permits Circle, Rectangle {
    //...
}

public final class Circle extends Shape {
    //...
}

public final class Rectangle extends Shape {
    //...
}

Если попытаться создать класс, не указанный в permits, компилятор выдаст ошибку. Таким образом, наследование от sealed класса возможно, но строго контролируется.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку