Название немного разочаровывает, но я не могу понять, как правильно сформулировать вопрос. Итак, я покажу свою проблему с кодом. Например, мы имеем:Java работает со ссылками
public class Test {
public Value val;
Test(Value val){
this.val = val;
}
public static void main(String[] a){
Value val = new Value(1);
Test test1 = new Test(val);
val = new Value(2);
System.out.println(test1.val.val);
}
}
Как я могу изменить свой код легко позволить test1 точку к новому валу (то что имеет значение 2). Предположим, что нам нужно иметь такие ссылки (по фактической переменной, а не по памяти) по всей программе.
UPD: Одно из решений, которое я нашел, - это сделать «обновление». Поэтому я мог бы написать val.update (новый Val (2))
UPD: Я полностью согласен с методами setter. Я хочу не стиль ООП, но в моем проекте мне нужно быстрое решение, даже если оно не будет лучшим. Я думаю, что я нашел одно решение (на самом деле это плохо, но быстрее, чем писать сеттеры и геттеры). Решение состоит в создании класса «обертка» (я мог бы назвать его «Reference»)
искать методы получения и установки. Напишите метод сеттера 'setVal (Value val)' и вызовите его с новым значением. –
Да, метод сеттера - это способ пойти – chancea
@Julien: Нет, это не подходящий дубликат. – Makoto