Sobes.tech
Junior — Middle

Μπορείτε να εξηγήσετε τι είναι μια αμετάβλητη κλάση στη Java και πώς δημιουργείται;

sobes.tech AI

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

Μη μεταβλητή κλάση σε Java είναι μια κλάση των οποίων τα αντικείμενα δεν μπορούν να τροποποιηθούν μετά τη δημιουργία τους. Τέτοιες κλάσεις είναι χρήσιμες για την εξασφάλιση της ασφάλειας των δεδομένων και του πολυνηματισμού.

Για να δημιουργήσετε μια μη μεταβλητή κλάση, πρέπει:

  • Να κάνετε την κλάση final, ώστε να μην μπορεί να κληρονομηθεί και να αλλάξει η συμπεριφορά της.
  • Όλα τα πεδία να είναι private και final.
  • Να μην παρέχετε setters (μεθόδους για την αλλαγή των πεδίων).
  • Να αρχικοποιείτε όλα τα πεδία μέσω του κατασκευαστή.
  • Αν τα πεδία είναι μεταβλητά αντικείμενα, να επιστρέφετε αντίγραφα αυτών στους getters για να αποφύγετε την αλλαγή της εσωτερικής κατάστασης.

Παράδειγμα:

public final class ImmutablePerson {
    private final String name;
    private final int age;

    public ImmutablePerson(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }
}