Sobes.tech
Junior — Middle

Czy można tworzyć dziedziczenie z klasy zadeklarowanej jako Sealed w języku Java?

sobes.tech AI

Odpowiedź od AI

W języku Java klasa zadeklarowana jako sealed ogranicza zakres klas, które mogą od niej dziedziczyć. Dziedziczenie po klasie sealed jest możliwe, ale tylko wtedy, gdy podklasa jest wyraźnie wymieniona na liście dozwolonych (permits) w deklaracji klasy sealed.

Przykład:

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

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

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

Jeśli spróbujesz utworzyć klasę, która nie jest wymieniona w permits, kompilator zgłosi błąd. W związku z tym, dziedziczenie po klasie sealed jest możliwe, ale ściśle kontrolowane.