Встречается на собеседованиях • сегодня

Что такое immutable классы

Immutable классы — это классы, состояние которых нельзя изменить после создания. Все поля объявляются final, сеттеры отсутствуют, а методы не модифицируют внутреннее состояние.

Ключевые особенности:

  • Поля объявлены как final
  • Нет сеттеров
  • Класс объявлен final (чтобы нельзя было наследоваться и изменить поведение)
  • Возвращаются новые экземпляры при "изменениях"

Пример:

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

    // Возвращает новый объект вместо изменения текущего
    public ImmutablePerson withAge(int newAge) {
        return new ImmutablePerson(this.name, newAge);
    }
}

Преимущества:

  • Потокобезопасность
  • Простота тестирования
  • Предсказуемость состояния
  • Можно безопасно кэшировать и делиться объектами
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы