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:
- Die Klasse als
finaldeklarieren — damit keine Unterklasse erstellt werden kann, die das Verhalten ändert. - Alle Felder
privateundfinalmachen — damit sie nach der Initialisierung nicht geändert werden können. - Keine Setter bereitstellen (Methoden zum Ändern der Felder).
- Alle Felder über den Konstruktor initialisieren.
- 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.