Junior — Middle
Lehet-e osztálytagokat változatlanként deklarálni azok inicializálása után?
sobes.tech MI
Válasz az MI-től
Igen, Java-ban a osztály tagjait final kulcsszóval lehet deklarálni, hogy azok az inicializálásuk után változatlanok maradjanak. Ez azt jelenti, hogy miután értéket rendelünk a változóhoz, azt már nem lehet megváltoztatni.
Példa:
public class Example {
private final int id; // változatlan mező
public Example(int id) {
this.id = id; // inicializálás a konstruktorban
}
public int getId() {
return id;
}
}
Itt az id mező csak egyszer, az objektum létrehozásakor rendelhető értékhez. Ezután a id módosítására tett kísérlet fordítási hibát eredményez.
Az immutábilis objektumok esetében gyakran minden mezőt final-ná tesznek, és nem adnak meg settereket, ami segít biztosítani az osztály biztonságát és viselkedésének kiszámíthatóságát.