Sobes.tech
Junior — Middle

Koji principi treba koristiti prilikom kreiranja klase u Javi da bi ona bila nemjenjiva?

sobes.tech АИ

Одговор од АИ

Да бисте учинили клас у Јави неизменљивим (immutable), потребно је поштовати неколико принципа:

  1. Декларишите клас као final — да се не може креирати подкласа која мења понашање.
  2. Направите сва поља private и final — да се не могу мењати након иницијализације.
  3. Не пружајте сеттере (методе за промену поља).
  4. Иницијализујте сва поља кроз конструктор.
  5. Ако су поља референце на променљиве објекте (нпр. низове, колекције), креирајте њихове копије приликом доделе и приликом враћања из гетера, како спољашње промене не би утицале на унутрашње стање.

Пример:

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

Таква класа након креирања објекта не дозвољава промену његовог стања, што је корисно за безбедност у нитима и предвидљивост понашања.