Sobes.tech
Junior — Middle

Létrehozható öröklődés egy Sealed-ként deklarált osztályból Java-ban?

sobes.tech MI

Válasz az MI-től

A Java nyelvben a sealed-ként deklarált osztály korlátozza azokat az osztályokat, amelyek örökölhetnek tőle. A sealed osztályból való öröklés lehetséges, de csak akkor, ha az alosztályt kifejezetten megjelölték a permits listában a sealed osztály deklarációjában.

Példa:

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

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

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

Ha megpróbálsz egy olyan osztályt létrehozni, amely nincs a permits listában, a fordító hibát jelez. Így a sealed osztályból való öröklés lehetőség, de szigorúan ellenőrzött.