Sobes.tech
Junior — Middle
99

¿Cómo implementar una clase en Java cuyos instancias no puedan ser modificadas después de su creación?

Empresas donde se preguntó
DCloud
ИннотехИннотех
JSA Group

Respuesta de la IA

sobes.tech AI

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

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

Пример:

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