Почему это не меняет исходный объект:
public class Foo
{
Bar item = new Item(5);
public changeBar(Bar test){
test = new Item(4);
}
public run(){
changeBar(item);
}
}
В этом случае item
не изменяется.Как это возможно?Я имею в виду, что вы передаете ссылку как параметр в методе, поэтому я бы сказал, что присвоение ему нового значения означает, что начальное значение item
также будет изменено.
Может кто-нибудь объяснить мне, какэто работает.
=============================================
однако, мой вопрос заключается в следующем:
следующее работает правильно?
public changeBar2(Bar test){
test.parameter = "newValue";
}
Я не понимаю, как это отличается.