Tabla de contenido:

¿Cómo podemos hacer que la clase sea inmutable en Java con el campo de fecha?
¿Cómo podemos hacer que la clase sea inmutable en Java con el campo de fecha?

Video: ¿Cómo podemos hacer que la clase sea inmutable en Java con el campo de fecha?

Video: ¿Cómo podemos hacer que la clase sea inmutable en Java con el campo de fecha?
Video: 74. Programación en Java || POO || Herencia en POO 2024, Noviembre
Anonim

Entenderemos lo que realmente significan estas pautas al crear una clase inmutable con un objeto mutable con el campo Fecha

  1. No proporcione métodos "establecedores": métodos que modifican los campos o objetos referido por los campos .
  2. Hacer todos los campos final y privado.
  3. No permita que las subclases anulen métodos.

Por lo tanto, ¿cómo podemos hacer que una clase sea inmutable en Java?

Clase inmutable en Java

  1. Declare la clase como final para que no se pueda extender.
  2. Haga que todos los campos sean privados para que no se permita el acceso directo.
  3. No proporcione métodos de establecimiento para las variables.
  4. Haga que todos los campos mutables sean finales para que su valor se pueda asignar solo una vez.
  5. Inicialice todos los campos a través de un constructor que realice una copia en profundidad.

Posteriormente, la pregunta es, ¿cuál es el uso de la clase inmutable en Java? Clase inmutable significa que una vez que se crea un objeto, no podemos cambiar su contenido. En Java , todo el envoltorio clases (como Integer, Boolean, Byte, Short) y String clase es inmutable . Podemos crear el nuestro clase inmutable así como.

La gente también pregunta, ¿la clase Date es inmutable en Java?

Fecha no es inmutable , necesitamos hacer una copia defensiva de Java . util. Fecha campo mientras devuelve una referencia a esta variable de instancia. Creemos una persona hipotética clase que tiene nombre y dob como los únicos dos miembros.

¿Cómo podemos hacer que un objeto sea inmutable?

Para hacer que el objeto sea inmutable, debe seguir estos pasos:

  1. No use ningún método que pueda cambiar los campos de su clase. Por ejemplo, no uses Setters.
  2. Evite utilizar campos públicos no finales. Si sus campos son públicos, debe declararlos como finales e inicializarlos en el constructor o directamente en la línea de declaración.

Recomendado: