Передача объектов в Java всегда происходит по значению. 13
Передача по значению (by value) заключается в том, что значения фактических параметров копируются. 3 Вызываемый метод создаёт свою копию значений аргументов и затем её использует. 3 Поскольку работа ведётся с копией, на исходный параметр это никак не влияет. 3
Передача по ссылке (by reference) предполагает передачу параметров как ссылки (адреса) на исходную переменную. 3 Вызываемый метод не создаёт свою копию, а ссылается на исходное значение. 3 Поэтому изменения, сделанные в вызываемом методе, также будут отражены в исходном значении. 3
Однако, поскольку передаваемое значение является ссылкой (адресом памяти) объекта, может показаться, что оно передаётся по ссылке. 1