Sobes.tech
Back to questions
Junior — Middle
72

Объясните, что означает ограничение интерфейса с помощью ключевого слова 'sealed' в Java или подобных языках.

Companies where asked
Effective Technologies
Центр Инвест Банк
Ютека

Answer from AI

sobes.tech AI

Ключевое слово sealed в Java (начиная с версии 15 в виде превью и официально с 17) используется для ограничения наследования интерфейса или класса. Оно позволяет явно указать, какие классы или интерфейсы могут наследовать или реализовывать данный интерфейс или класс.

Это помогает контролировать и ограничивать иерархию типов, повышая безопасность и предсказуемость кода.

Пример:

public sealed interface Shape permits Circle, Rectangle {
    double area();
}

public final class Circle implements Shape {
    // реализация
}

public final class Rectangle implements Shape {
    // реализация
}

Здесь интерфейс Shape может быть реализован только классами Circle и Rectangle. Другие классы не смогут реализовать Shape.