Junior — Middle
Можете ли објаснити шта је неизменљива класа у Јави и како се она креира?
sobes.tech АИ
Одговор од АИ
Ne menjajuća klasa u Javi je klasa čiji objekti ne mogu biti izmenjeni nakon kreiranja. Takve klase su korisne za obezbeđivanje bezbednosti podataka i višestruko izvršavanje.
Da biste kreirali ne menjajuću klasu, morate:
- Učiniti klasu
final, tako da ne može biti nasledjena i njeno ponašanje ne može biti promenjeno. - Sva polja učiniti
privateifinal. - Ne pružati settere (metode za promenu polja).
- Inicijalizovati sva polja putem konstruktora.
- Ako su polja promenljivi objekti, vraćati njihove kopije u getterima da biste izbegli promenu unutrašnjeg stanja.
Primer:
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;
}
}