Innholdsfortegnelse:

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

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

Video: Hvordan kan vi gjøre klassen uforanderlig i Java med datofelt?
Video: Создание аннотации в java [Java Annotations | Reflection api] 2024, Desember
Anonim

Vi vil forstå hva disse retningslinjene faktisk betyr ved å lage en uforanderlig klasse med foranderlig objekt med Dato-feltet

  1. Ikke oppgi "setter"-metoder - metoder som modifiserer Enger eller gjenstander referert av Enger .
  2. Gjøre alle Enger endelig og privat.
  3. Ikke la underklasser overstyre metoder.

Herav, hvordan kan vi gjøre en klasse uforanderlig i Java?

Uforanderlig klasse i Java

  1. Erklær klassen som endelig slik at den ikke kan forlenges.
  2. Gjør alle felt private slik at direkte tilgang ikke er tillatt.
  3. Ikke oppgi settermetoder for variabler.
  4. Gjør alle mutbare felt endelige, slik at verdien kan tildeles bare én gang.
  5. Initialiser alle feltene via en konstruktør som utfører dypkopiering.

Deretter er spørsmålet, hva er bruken av uforanderlig klasse i Java? Uforanderlig klasse betyr at når et objekt først er opprettet, kan vi ikke endre innholdet. I Java , hele innpakningen klasser (som heltall, boolsk, byte, kort) og streng klasse er uforanderlig . Vi kan lage våre egne uforanderlig klasse også.

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

Dato er ikke uforanderlig , må vi lage en defensiv kopi av java . util. Dato feltet mens du returnerer en referanse til denne forekomstvariabelen. La oss lage en hypotetisk person klasse som har navn og dob som de eneste to medlemmene.

Hvordan kan vi gjøre et objekt uforanderlig?

For å gjøre objektet uforanderlig, må du gjøre disse trinnene:

  1. Ikke bruk noen metoder som kan endre felt i klassen din. For eksempel ikke bruk settere.
  2. Unngå å bruke offentlige ikke-finalefelt. Hvis feltene dine er offentlige, må du erklære dem som endelige og initialisere dem i konstruktør eller direkte i deklarasjonslinjen.

Anbefalt: