Obsah:

Je objekt Date meniteľný v jazyku Java?
Je objekt Date meniteľný v jazyku Java?

Video: Je objekt Date meniteľný v jazyku Java?

Video: Je objekt Date meniteľný v jazyku Java?
Video: Synchronized vs ReadWriteLock vs StampedLock [Java Multithreading] 2024, November
Anonim

A premenlivý objekt je jednoducho an objekt ktorý môže po výstavbe zmeniť svoj stav. Napríklad StringBuilder a Dátum sú meniteľné objekty , zatiaľ čo String a Integer sú nemenné predmety . Trieda môže mať a premenlivý objekt ako pole.

Podobne je trieda Date v jazyku Java nemenná?

Dátum nie je nemenný , musíme vytvoriť obrannú kópiu java . util. Dátum pri vrátení odkazu na túto premennú inštancie. Vytvorme hypotetickú osobu trieda ktorá má meno a dátum narodenia ako jediní dvaja členovia.

Následne je otázkou, čo je nemenný objekt v Jave? Nemenné predmety sú predmety ktoré sa nemenia. Vyrobíte si ich, potom ich už nemôžete zmeniť. A Java nemenný objekt musia mať všetky polia interné, súkromné konečné polia. Nesmie implementovať žiadne nastavovače. Potrebuje konštruktor, ktorý má hodnotu pre každé jedno pole.

Sú objekty v Jave meniteľné?

Nemenné predmety sú jednoducho predmety ktorého štát ( predmety údaje) sa po výstavbe nemôžu zmeniť. Príklady nemenné predmety z JDK zahŕňajú String a Integer. Meniteľné predmety majú polia, ktoré je možné zmeniť, nemenné predmety nemajú žiadne polia, ktoré je možné zmeniť po objekt je vytvorený.

Ako urobíte objekt meniteľným v jazyku Java?

Immutable Class v Jave

  1. Vyhláste triedu ako konečnú, aby ju nebolo možné predĺžiť.
  2. Nastavte všetky polia ako súkromné, aby nebol povolený priamy prístup.
  3. Neposkytujte nastavovacie metódy pre premenné.
  4. Urobte všetky meniteľné polia ako konečné, aby ich hodnotu bolo možné priradiť iba raz.
  5. Inicializujte všetky polia pomocou konštruktora vykonávajúceho hlboké kopírovanie.

Odporúča: