Junior — Middle
149
Hoe implementeer je een klasse in Java zodat de staat ervan na creatie niet kan worden gewijzigd?
Bedrijven waar gevraagd werd
Antwoord van AI
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;
}
}
Такой класс после создания объекта не позволяет изменить его состояние.