Back to questions
IT One
Junior — Middle
56
Каким образом реализовать класс, свойства которого нельзя изменить после создания объекта?
Companies where asked
Ifellow
Answer from 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;
}
}
Такой класс гарантирует, что после создания объекта его состояние не изменится.