Sobes.tech
Junior — Middle
156

¿Cómo implementar una clase en Java de manera que su estado sea inmutable después de su creación?

Empresas donde se preguntó
IT OneIT One

Respuesta de la IA

sobes.tech AI

Чтобы сделать класс в Java неизменяемым (immutable), нужно:

  1. Объявить класс как final — чтобы предотвратить наследование и изменение поведения.
  2. Сделать все поля private и final — чтобы их нельзя было изменить после инициализации.
  3. Инициализировать все поля через конструктор.
  4. Не предоставлять сеттеры (методы для изменения полей).
  5. Если поля — это изменяемые объекты (например, массивы, коллекции), возвращать их копии в геттерах, чтобы предотвратить внешние изменения.

Пример:

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;
    }
}

Такой класс после создания объекта не позволяет изменить его состояние.