Junior — Middle
Czy możesz wyjaśnić, czym jest niezmiennicza klasa w Java i jak się ją tworzy?
sobes.tech AI
Odpowiedź od AI
Niezmienna klasa w Java to klasa, której obiekty nie mogą być zmienione po utworzeniu. Takie klasy są przydatne do zapewnienia bezpieczeństwa danych i wielowątkowości.
Aby utworzyć klasę niezmienną, należy:
- Ustawić klasę jako
final, aby nie można było dziedziczyć i zmieniać zachowania. - Ustawić wszystkie pola jako
privateifinal. - Nie udostępniać setterów (metod do zmiany pól).
- Inicjalizować wszystkie pola przez konstruktor.
- Jeśli pola są obiektami zmiennymi, zwracać ich kopie w getterach, aby uniknąć zmiany stanu wewnętrznego.
Przykład:
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;
}
}