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ó
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;
}
}
Такой класс после создания объекта не позволяет изменить его состояние.