Sadržaj:

Kako možemo učiniti klasu nepromjenjivom u Javi s poljem datuma?
Kako možemo učiniti klasu nepromjenjivom u Javi s poljem datuma?

Video: Kako možemo učiniti klasu nepromjenjivom u Javi s poljem datuma?

Video: Kako možemo učiniti klasu nepromjenjivom u Javi s poljem datuma?
Video: Nevjerojatna snimka: Udar munje u crkvu u Brdovcu #shorts 2024, Travanj
Anonim

Shvatit ćemo što ove smjernice zapravo znače stvaranjem nepromjenjive klase s promjenjivim objektom s poljem Datum

  1. Nemojte davati metode “setter” – metode koje modificiraju polja ili predmeta na koje upućuje polja .
  2. Napraviti svi polja konačni i privatni.
  3. Ne dopustite podklasama da nadjačaju metode.

Stoga, kako možemo učiniti klasu nepromjenjivom u Javi?

Nepromjenjiva klasa u Javi

  1. Klasu proglasiti konačnom kako se ne bi mogla produžiti.
  2. Neka sva polja budu privatna tako da izravan pristup nije dopušten.
  3. Nemojte davati metode postavljanja za varijable.
  4. Neka sva promjenjiva polja budu konačna tako da se njezina vrijednost može dodijeliti samo jednom.
  5. Inicijalizirajte sva polja putem konstruktora koji izvodi dubinsko kopiranje.

Nakon toga, postavlja se pitanje koja je upotreba nepromjenjive klase u Javi? Nepromjenjiva klasa znači da nakon što je objekt stvoren, ne možemo promijeniti njegov sadržaj. U Java , sav omot razreda (poput Integer, Boolean, Byte, Short) i String razreda je nepromjenjiv . Možemo stvoriti svoje nepromjenjiva klasa također.

Ljudi također pitaju, je li klasa Date nepromjenjiva u Javi?

Datum nije nepromjenjiv , moramo napraviti obrambenu kopiju Java . util. Datum polje dok vraća referencu na ovu varijablu instance. Stvorimo hipotetičku osobu razreda koja ima ime i dob kao jedina dva člana.

Kako možemo učiniti objekt nepromjenjivim?

Da biste objekt učinili nepromjenjivim, morate učiniti sljedeće korake:

  1. Nemojte koristiti metode koje mogu promijeniti polja vaše klase. Na primjer, nemojte koristiti Setters.
  2. Izbjegavajte korištenje javnih nezavršnih polja. Ako su vaša polja javna onda ih morate deklarirati kao konačna i inicijalizirati ih u konstruktoru ili izravno u retku deklaracije.

Preporučeni: