Junior — Middle
Koji principi treba koristiti prilikom kreiranja klase u Javi da bi ona bila nemjenjiva?
sobes.tech АИ
Одговор од АИ
Да бисте учинили клас у Јави неизменљивим (immutable), потребно је поштовати неколико принципа:
- Декларишите клас као
final— да се не може креирати подкласа која мења понашање. - Направите сва поља
privateиfinal— да се не могу мењати након иницијализације. - Не пружајте сеттере (методе за промену поља).
- Иницијализујте сва поља кроз конструктор.
- Ако су поља референце на променљиве објекте (нпр. низове, колекције), креирајте њихове копије приликом доделе и приликом враћања из гетера, како спољашње промене не би утицале на унутрашње стање.
Пример:
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;
}
}
Таква класа након креирања објекта не дозвољава промену његовог стања, што је корисно за безбедност у нитима и предвидљивост понашања.