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