Taula de continguts:

Com podem fer que la classe sigui immutable a Java amb el camp de data?
Com podem fer que la classe sigui immutable a Java amb el camp de data?

Vídeo: Com podem fer que la classe sigui immutable a Java amb el camp de data?

Vídeo: Com podem fer que la classe sigui immutable a Java amb el camp de data?
Vídeo: 30 глупых вопросов Data Engineer [Карьера в IT] 2024, Abril
Anonim

Entendrem què volen dir aquestes directrius en realitat creant una classe immutable amb objecte mutable amb el camp Data

  1. No proporcioneu mètodes "setter" - mètodes que modifiquen camps o objectes referit per camps .
  2. Fer tots camps final i privat.
  3. No permeteu que les subclasses anul·lin mètodes.

D'aquí, com podem fer que una classe sigui immutable a Java?

Classe immutable en Java

  1. Declarar la classe com a final perquè no es pugui ampliar.
  2. Feu que tots els camps siguin privats de manera que no es permeti l'accés directe.
  3. No proporcioneu mètodes de configuració per a variables.
  4. Feu que tots els camps mutables siguin definitius perquè el seu valor només es pugui assignar una vegada.
  5. Inicialitzeu tots els camps mitjançant un constructor que realitza una còpia profunda.

Posteriorment, la pregunta és, per a què serveix la classe immutable a Java? Classe immutable significa que un cop creat un objecte, no podem canviar-ne el contingut. En Java , tot l'embolcall classes (com Integer, Boolean, Byte, Short) i String classe és immutable . Podem crear el nostre classe immutable també.

La gent també es pregunta, és immutable la classe Date a Java?

Data no és immutable , hem de fer una còpia defensiva java . útil. Data camp mentre retorna una referència a aquesta variable d'instància. Creem una persona hipotètica classe que té nom i dob com a dos únics membres.

Com podem fer que un objecte sigui immutable?

Per fer que l'objecte sigui immutable, heu de fer aquests passos:

  1. No utilitzeu cap mètode, que pot canviar els camps de la vostra classe. Per exemple, no utilitzeu Setters.
  2. Eviteu utilitzar camps públics no finals. Si els vostres camps són públics, heu de declarar-los com a finals i inicialitzar-los al constructor o directament a la línia de declaració.

Recomanat: