Junior — Middle
104
Wie implementiert man in Java eine Klasse, deren Instanzen nach der Erstellung nicht verändert werden können?
Unternehmen wurden gefragt
DCloud
JSA Group
Antwort von AI
sobes.tech KI
Чтобы сделать класс в 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;
}
}