Sobes.tech
Junior — Middle

Μπορείτε να δημιουργήσετε κληρονομικότητα από μια κλάση που έχει δηλωθεί ως Sealed στη Java;

sobes.tech AI

Απάντηση από AI

Στη γλώσσα 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 κλάση είναι δυνατή, αλλά αυστηρά ελεγχόμενη.