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

Каким правилом необходимо следовать при реализации иммутабельного класса

1. **Не предоставлять сеттеры** – поля должны быть final и инициализироваться только в конструкторе. 2. **Запретить наследование** – класс лучше сделать final, чтобы избежать изменения поведения в подклассах. 3. **Защищать изменяемые поля** – если класс содержит ссылки на изменяемые объекты (например, коллекции), возвращайте их копии или неизменяемые обертки. 4. **Не изменять внутреннее состояние** – методы не должны модифицировать поля после создания объекта. Пример: ```java public final class ImmutablePerson { private final String name; private final List hobbies; public ImmutablePerson(String name, List hobbies) { this.name = name; this.hobbies = Collections.unmodifiableList(new ArrayList<>(hobbies)); } public String getName() { return name; } public List getHobbies() { return hobbies; } } ```
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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