Indholdsfortegnelse:

Hvordan kan vi gøre klassen uforanderlig i Java med datofelt?
Hvordan kan vi gøre klassen uforanderlig i Java med datofelt?

Video: Hvordan kan vi gøre klassen uforanderlig i Java med datofelt?

Video: Hvordan kan vi gøre klassen uforanderlig i Java med datofelt?
Video: Полный курс TypeScript за час | Тайпскрипт для начинающих 2024, November
Anonim

Vi vil forstå, hvad disse retningslinjer rent faktisk betyder ved at skabe en uforanderlig klasse med foranderligt objekt med Dato-feltet

  1. Angiv ikke "setter"-metoder - metoder, der ændrer felter eller genstande henvist af felter .
  2. Lave alle felter endelig og privat.
  3. Tillad ikke underklasser at tilsidesætte metoder.

Heraf, hvordan kan vi gøre en klasse uforanderlig i Java?

Uforanderlig klasse i Java

  1. Erklær klassen som endelig, så den ikke kan forlænges.
  2. Gør alle felter private, så direkte adgang ikke er tilladt.
  3. Angiv ikke seter-metoder for variabler.
  4. Gør alle foranderlige felter endelige, så dens værdi kun kan tildeles én gang.
  5. Initialiser alle felterne via en konstruktør, der udfører dyb kopi.

Efterfølgende er spørgsmålet, hvad er brugen af uforanderlig klasse i Java? Uforanderlig klasse betyder, at når først et objekt er skabt, kan vi ikke ændre dets indhold. I Java , hele indpakningen klasser (som Integer, Boolean, Byte, Short) og String klasse er uforanderlig . Vi kan skabe vores egne uforanderlig klasse såvel.

Folk spørger også, er Date-klassen uforanderlig i Java?

Dato er ikke uforanderlig , skal vi lave en defensiv kopi af java . util. Dato felt, mens der returneres en reference til denne instansvariabel. Lad os skabe en hypotetisk person klasse der har navn og dob som de eneste to medlemmer.

Hvordan kan vi gøre et objekt uforanderligt?

For at gøre objektet uforanderligt skal du udføre disse trin:

  1. Brug ikke nogen metoder, som kan ændre felter i din klasse. Brug for eksempel ikke Setters.
  2. Undgå at bruge offentlige ikke-endelige felter. Hvis dine felter er offentlige, skal du erklære dem som endelige og initialisere dem i constructor eller direkte i deklarationslinjen.

Anbefalede: