Sobes.tech
Junior — Middle

Lze v jazyce Java vytvářet dědičnost od třídy deklarované jako Sealed?

sobes.tech AI

Odpověď od AI

V jazyce Java omezená třída sealed omezuje okruh tříd, které z ní mohou dědit. Dědění z sealed třídy je možné, ale pouze pokud je podtřída výslovně uvedena v seznamu povolených (permits) v deklaraci sealed třídy.

Příklad:

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

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

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

Pokud se pokusíte vytvořit třídu, která není uvedena v permits, kompilátor vypíše chybu. Tím je dědění z sealed třídy možné, ale přísně kontrolované.