Sobes.tech
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 private i final.
  • 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;
    }
}