#Вопросы_с_собеседования



Как написать immutable класс?



Чтоб написать immutable неизменяемый класс, нужно следовать простым пунктам:

• сделать класс финальным.

• сделать все поля приватными и создать только геттеры к ним. Сеттеры, разумеется, не нужно.

• Сделать все mutable поля final, чтобы установить значение можно было только один раз.

• инициализировать все поля через конструктор, выполняя глубокое копирование (то есть, копируя и сам объект, и его переменные, и переменные переменных, и так далее)

• клонировать объекты mutable переменных в геттерах, чтобы возвращать только копии значений, а не ссылки на актуальные объекты.