💡Разбор вопросов с собеседований Java Junior
Как написать immutable класс?
Чтоб написать immutable неизменяемый класс, нужно следовать простым пунктам:
⁃ сделать класс финальным.
⁃ сделать все поля приватными и создать только геттеры к ним. Сеттеры, разумеется, не нужно.
⁃ сделать все mutable поля final, чтобы установить значение можно было только один раз.
⁃ инициализировать все поля через конструктор, выполняя глубокое копирование (то есть, копируя и сам объект, и его переменные, и переменные переменных, и так далее).
⁃ клонировать объекты mutable переменных в геттерах, чтобы возвращать только копии значений, а не ссылки на актуальные объекты.
Как написать immutable класс?
Чтоб написать immutable неизменяемый класс, нужно следовать простым пунктам:
⁃ сделать класс финальным.
⁃ сделать все поля приватными и создать только геттеры к ним. Сеттеры, разумеется, не нужно.
⁃ сделать все mutable поля final, чтобы установить значение можно было только один раз.
⁃ инициализировать все поля через конструктор, выполняя глубокое копирование (то есть, копируя и сам объект, и его переменные, и переменные переменных, и так далее).
⁃ клонировать объекты mutable переменных в геттерах, чтобы возвращать только копии значений, а не ссылки на актуальные объекты.