В чем нюанс передачи аргументов в метод в Java

«В чем нюанс передачи аргументов в метод в Java» — вопрос из категории Java, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Java аргументы передаются по значению, а не по ссылке. Это значит, что при передаче объекта в метод копируется ссылка на него, а не сам объект. Изменения полей объекта внутри метода сохраняются, но переприсвоение ссылки не влияет на исходный объект.

void modifyObject(MyClass obj) {
    obj.value = 10; // Изменение поля — отразится на исходном объекте
    obj = new MyClass(); // Переприсвоение — не повлияет на внешнюю ссылку
}

Для примитивов (int, boolean и т.д.) передается копия значения, поэтому изменения внутри метода не сохраняются.