Cuprins:

Cum putem face clasa imuabilă în Java cu câmpul de dată?
Cum putem face clasa imuabilă în Java cu câmpul de dată?

Video: Cum putem face clasa imuabilă în Java cu câmpul de dată?

Video: Cum putem face clasa imuabilă în Java cu câmpul de dată?
Video: NOUL SMP CU YOUTUBERII pe MINECRAFT IN VIATA REALA 2024, Aprilie
Anonim

Vom înțelege ce înseamnă de fapt aceste linii directoare prin crearea unei clase imuabile cu obiect mutabil cu câmp Date

  1. Nu furnizați metode „setter” - metode care se modifică câmpuri sau obiecte la care se face referire câmpuri .
  2. Face toate câmpuri finală și privată.
  3. Nu permiteți subclaselor să înlocuiască metodele.

Prin urmare, cum putem face o clasă imuabilă în Java?

Clasă imuabilă în Java

  1. Declarați clasa ca finală, astfel încât să nu poată fi prelungită.
  2. Faceți private toate câmpurile, astfel încât accesul direct să nu fie permis.
  3. Nu furnizați metode de setare pentru variabile.
  4. Faceți ca toate câmpurile modificabile să fie definitive, astfel încât valoarea acesteia să poată fi atribuită o singură dată.
  5. Inițializați toate câmpurile printr-un constructor care efectuează copiere profundă.

Ulterior, întrebarea este, la ce folosește clasa imuabilă în Java? Clasa imuabila înseamnă că odată ce un obiect este creat, nu-i putem schimba conținutul. În Java , tot ambalajul clase (cum ar fi Integer, Boolean, Byte, Short) și String clasă este imuabil . Ne putem crea propriile noastre clasă imuabilă de asemenea.

Oamenii se întreabă, de asemenea, este clasa Date imuabilă în Java?

Data nu este imuabil , trebuie să facem o copie defensivă a java . util. Data câmp în timp ce returnați o referință la această variabilă de instanță. Să creăm o persoană ipotetică clasă care are numele și dob ca singuri doi membri.

Cum putem face un obiect imuabil?

Pentru a face obiectul imuabil, trebuie să faceți acești pași:

  1. Nu utilizați nicio metodă, care poate schimba câmpurile clasei dvs. De exemplu, nu folosiți seterii.
  2. Evitați să utilizați câmpuri publice nefinale. Dacă câmpurile dvs. sunt publice, atunci trebuie să le declarați ca finale și să le inițializați în constructor sau direct în linia de declarație.

Recomandat: