Ответ
В Java аргументы передаются по значению, а не по ссылке. Это значит, что при передаче объекта в метод копируется ссылка на него, а не сам объект. Изменения полей объекта внутри метода сохраняются, но переприсвоение ссылки не влияет на исходный объект.
void modifyObject(MyClass obj) {
obj.value = 10; // Изменение поля — отразится на исходном объекте
obj = new MyClass(); // Переприсвоение — не повлияет на внешнюю ссылку
}
Для примитивов (int, boolean и т.д.) передается копия значения, поэтому изменения внутри метода не сохраняются.