Sobes.tech
Junior — Middle

El tudná magyarázni, mi az az immutábilis osztály Java-ban, és hogyan hozható létre?

sobes.tech MI

Válasz az MI-től

Java-ban a változatlan osztály olyan osztály, amelynek objektumait a létrehozás után nem lehet megváltoztatni. Ezek az osztályok hasznosak az adatok biztonságának és a több szálú végrehajtás biztosításához.

Változatlan osztály létrehozásához:

  • Tegye az osztályt final-ná, hogy ne lehessen örökölni és megváltoztatni a viselkedését.
  • Minden mezőt private és final-ná tegyen.
  • Ne biztosítson settereket (metódusokat a mezők módosítására).
  • Minden mezőt a konstruktoron keresztül inicializáljon.
  • Ha a mezők módosítható objektumok, akkor a getterekben másolatokat adjon vissza, hogy elkerülje a belső állapot módosítását.

Példa:

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