Innehållsförteckning:

Hur kan vi göra klass oföränderlig i Java med datumfält?
Hur kan vi göra klass oföränderlig i Java med datumfält?

Video: Hur kan vi göra klass oföränderlig i Java med datumfält?

Video: Hur kan vi göra klass oföränderlig i Java med datumfält?
Video: Java Tutorials : Create Immutable class in Java 2024, November
Anonim

Vi kommer att förstå vad dessa riktlinjer faktiskt betyder genom att skapa en oföränderlig klass med föränderligt objekt med fältet Date

  1. Ge inte "setter"-metoder - metoder som modifierar fält eller objekt avses av fält .
  2. Göra Allt fält final och privat.
  3. Tillåt inte underklasser att åsidosätta metoder.

Härav, hur kan vi göra en klass oföränderlig i Java?

Oföränderlig klass i Java

  1. Förklara klassen som final så att den inte kan förlängas.
  2. Gör alla fält privata så att direktåtkomst inte tillåts.
  3. Ange inte sättermetoder för variabler.
  4. Gör alla föränderliga fält slutgiltiga så att dess värde endast kan tilldelas en gång.
  5. Initiera alla fält via en konstruktor som utför djupkopiering.

Därefter är frågan, vad är användningen av oföränderlig klass i Java? Oföränderlig klass betyder att när ett objekt väl har skapats kan vi inte ändra dess innehåll. I Java , hela omslaget klasser (som Integer, Boolean, Byte, Short) och String klass är oföränderlig . Vi kan skapa våra egna oföränderlig klass också.

Folk frågar också, är Date-klassen oföränderlig i Java?

Datum är inte oföränderlig , måste vi göra en defensiv kopia av java . util. Datum medan en referens till denna instansvariabel returneras. Låt oss skapa en hypotetisk person klass som har namn och dob som de enda två medlemmarna.

Hur kan vi göra ett objekt oföränderligt?

För att göra objekt oföränderligt måste du göra dessa steg:

  1. Använd inga metoder som kan ändra fält i din klass. Använd till exempel inte Setters.
  2. Undvik att använda offentliga icke-slutliga fält. Om dina fält är offentliga måste du deklarera dem som slutgiltiga och initiera dem i konstruktorn eller direkt i deklarationsraden.

Rekommenderad: