Tartalomjegyzék:

A Date objektum változtatható a Java-ban?
A Date objektum változtatható a Java-ban?

Videó: A Date objektum változtatható a Java-ban?

Videó: A Date objektum változtatható a Java-ban?
Videó: Java Tech Talk: Telegram бот на java за 1 час 2024, November
Anonim

A változtatható objektum egyszerűen egy tárgy amely az építés után megváltoztathatja állapotát. Például a StringBuilder és Dátum vannak változtatható objektumok , míg a String és az Integer változatlanok tárgyakat . Egy osztálynak lehet a változtatható objektum mint mező.

Hasonlóképpen, a Date osztály megváltoztathatatlan a Java-ban?

Dátum nem változhatatlan , védekező másolatot kell készítenünk Jáva . util. Dátum mezőben, miközben hivatkozást ad vissza erre a példányváltozóra. Hozzunk létre egy hipotetikus személyt osztály amelynek a neve és a dob az egyetlen két tagja.

Ezt követően a kérdés az, hogy mi az a megváltoztathatatlan objektum a Java-ban? Megmásíthatatlan tárgyak vannak tárgyakat ez nem változik. Te készíted őket, aztán nem tudod megváltoztatni. A Java megváltoztathatatlan objektum minden mezőjének belső, privát végső mezőnek kell lennie. Nem alkalmazhat beállítókat. Szüksége van egy konstruktorra, amely minden egyes mezőhöz értéket vesz fel.

Ennek megfelelően az objektumok változtathatók a Java nyelven?

Változhatatlan tárgyak egyszerűen vannak tárgyakat akinek az állapota (a tárgyakat adatok) a kivitelezés után nem változhatnak. Példák megváltoztathatatlan tárgyak a JDK-ból a String és az Integer. Változó objektumok módosítható mezők vannak, megváltoztathatatlan tárgyak után nincs módosítható mező tárgy létrehozva.

Hogyan lehet egy objektumot változtathatóvá tenni Java-ban?

Megváltoztathatatlan osztály Java nyelven

  1. Az osztályt véglegesnek kell nyilvánítani, hogy ne lehessen meghosszabbítani.
  2. Minden mezőt tegye priváttá, hogy a közvetlen hozzáférés ne legyen engedélyezett.
  3. Ne adjon meg beállító metódusokat a változókhoz.
  4. Tegye véglegessé az összes módosítható mezőt, hogy az értékét csak egyszer lehessen hozzárendelni.
  5. Inicializálja az összes mezőt egy mélymásolást végrehajtó konstruktorral.

Ajánlott: