Чтобы сделать класс неизменяемым (immutable) в Java, нужно следовать нескольким принципам:
final
, чтобы его нельзя было унаследовать и изменить поведение.private
и final
, чтобы их нельзя было изменить после инициализации объекта.setters
).List
или Date
), в геттерах нужно возвращать их копии, а не ссылки на оригинальные объекты. В конструкторе также принимать копии изменяемых объектов.equals()
и hashCode()
, если это необходимо для корректного сравнения объектов и работы с коллекциями.Пример:
java
Чтобы сделать класс неизменяемым (immutable) в Java, нужно следовать нескольким принципам:
final
, чтобы его нельзя было унаследовать и изменить поведение.private
и final
, чтобы их нельзя было изменить после инициализации объекта.setters
).List
или Date
), в геттерах нужно возвращать их копии, а не ссылки на оригинальные объекты. В конструкторе также принимать копии изменяемых объектов.equals()
и hashCode()
, если это необходимо для корректного сравнения объектов и работы с коллекциями.Пример:
java
Register or sign in to get access to full answers for all questions from the question bank.