Предположим, у вас есть класс Dog
, который имеет
public class Dog {
private String name;
private double age;
// some setters
// some getters
Кроме того, у вас есть класс DogHandler
, который создает экземпляр Dog d
и передает его Owner
Полагаю, я могу
... сделайте копию собаки, прежде чем передать ее на Owner
, но это дорогостоящая операция, и я бы предпочел ее избежать.
... придумайте интерфейс, который реализует Dog
, который содержит только геттеры, приведите Dog
к этому интерфейсу и передайте результат по
... инициализировать устанавливаемые переменные в конструкторе и просто не разрешать изменения для этого экземпляра объекта
Есть ли другие способы убедиться, что получатель объекта не может изменить его?
Как взять простой бин, содержащий некоторые данные, и сделать его доступным только для чтения?