Junior — Middle
Ce principii trebuie utilizate la crearea unei clase în Java pentru a o face imuabilă?
sobes.tech AI
Răspuns de la AI
Pentru a face o clasă în Java imuabilă, trebuie respectate câteva principii:
- Declarați clasa ca
final— pentru a nu putea fi creată o subclasă care să modifice comportamentul. - Faceți toate câmpurile
privateșifinal— pentru a nu putea fi modificate după inițializare. - Nu furnizați setter-uri (metode pentru modificarea câmpurilor).
- Inițializați toate câmpurile prin constructor.
- Dacă câmpurile sunt referințe la obiecte modificabile (de exemplu, array-uri, colecții), creați copii ale acestora la atribuire și la returnarea din getters, pentru ca modificările externe să nu afecteze starea internă.
Exemplu:
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;
}
}
O astfel de clasă, după crearea obiectului, nu permite schimbarea stării sale, ceea ce este util pentru siguranța thread-urilor și previzibilitatea comportamentului.