Назад к вопросам
СБЕР
IT One
Junior — Middle
68
Можете пояснить, что подразумевается под неизменяемым классом в программировании?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Неизменяемый класс — это класс, экземпляры которого после создания нельзя изменить. Все поля такого объекта обычно объявляются как final (в Java) и инициализируются только в конструкторе. Это гарантирует, что состояние объекта останется постоянным на протяжении всего времени жизни.
Преимущества неизменяемых классов:
- Потокобезопасность без дополнительной синхронизации.
- Простота понимания и отладки.
- Использование в качестве ключей в коллекциях, например, в
HashMap.
Пример неизменяемого класса в Java:
public final class Person {
private final String name;
private final int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
Здесь класс Person не позволяет изменить имя или возраст после создания объекта.