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