¿Qué es un objeto inmutable?¿Cómo crear un objeto inmutable en Java?

 Un objeto inmutable es un objeto cuyo estado no se puede modificar ni cambiar una vez creado. En Java, los objetos inmutables tienen las siguientes características:

  1. Inmunidad estatal: el valor de propiedad de un objeto no se puede modificar.

  2. Seguridad de subprocesos (seguridad de subprocesos): dado que el estado de un objeto inmutable no se puede cambiar, no se requieren medidas de sincronización adicionales para el acceso de subprocesos múltiples, por lo que es seguro para subprocesos.

  3. Seguridad (Seguridad): el valor de un objeto inmutable no se puede modificar maliciosamente, por lo que es adecuado para contextos sensibles a la seguridad.

  4. Reutilizabilidad: dado que el estado de los objetos inmutables permanece sin cambios, se pueden usar varias veces sin preocuparse por los efectos secundarios.

  Para crear un objeto inmutable, se deben seguir varios pasos:

  1. Hacer definitiva la declaración de clase

  Al declarar una clase final, se impide que otras clases la hereden, impidiendo así que las subclases modifiquen su estado.

  2. Declarar propiedades como privadas y definitivas

  Asegúrese de que el mundo exterior no pueda acceder directamente a la propiedad y que no se pueda modificar una vez asignada.

  3. No proporciona un método para modificar el estado.

  No proporcione métodos que modifiquen el estado del objeto, incluidos los métodos de establecimiento.

  4. Proporcionar métodos de solo lectura.

  Proporcione métodos para obtener los valores de propiedad del objeto, pero no proporcione métodos para modificar los valores de propiedad.

  A continuación se muestra un ejemplo que muestra cómo crear una clase Java inmutable:

public final class ImmutablePerson {
    private final String name;
    private final int age;

    public ImmutablePerson(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }
}

  En este ejemplo, la clase ImmutablePerson tiene dos propiedades finales privadas que solo se pueden inicializar en el constructor y no se proporciona ningún método para modificarlas. Por tanto, ImmutablePerson es un objeto inmutable cuyo estado no se puede modificar una vez creado.

  Siguiendo el patrón anterior, podemos crear objetos inmutables que ayudan a garantizar la mantenibilidad, la seguridad de los subprocesos y la protección del código.

Supongo que te gusta

Origin blog.csdn.net/Blue92120/article/details/132445039
Recomendado
Clasificación