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