Sobes.tech
Junior — Middle

Welche Prinzipien sollten bei der Erstellung einer Klasse in Java verwendet werden, um sie unveränderlich zu machen?

sobes.tech KI

Antwort von AI

Um eine Klasse in Java unveränderlich (immutable) zu machen, müssen mehrere Prinzipien beachtet werden:

  1. Die Klasse als final deklarieren — damit keine Unterklasse erstellt werden kann, die das Verhalten ändert.
  2. Alle Felder private und final machen — damit sie nach der Initialisierung nicht geändert werden können.
  3. Keine Setter bereitstellen (Methoden zum Ändern der Felder).
  4. Alle Felder über den Konstruktor initialisieren.
  5. Wenn die Felder Referenzen auf veränderbare Objekte sind (z.B. Arrays, Sammlungen), Kopien bei Zuweisung und Rückgabe aus den Gettern erstellen, damit externe Änderungen den internen Zustand nicht beeinflussen.

Beispiel:

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;
    }
}

Solch eine Klasse erlaubt nach der Objekterstellung keine Zustandsänderung, was für Thread-Sicherheit und Vorhersehbarkeit des Verhaltens nützlich ist.