См Is Java "pass-by-reference" or "pass-by-value"?
Java всегда calls-by-value. В случае, когда объекты передаются, он передает «значение ссылки», которое дает Java семантику call-by-object-sharing (она делает это через значение по умолчанию -of-reference-хотя!).
Я хотел бы сказать: Когда объект передан, он не копируется. Тогда, поскольку он является одним и тем же объектом внутри метода - переменная - это просто другое «имя» для него - если вы изменяете объект (не переменную!) внутри метода, вы меняете этот объект снаружи - везде, действительно - также. (Это тот же самый объект, и все :-)
Обратите внимание, что переменные не передаются. Они оцениваются как выражение и передаются значения , которые они оценивают.
Некоторые языки, такие как поддержка C++ call-by-reference. Это разные, чем вызов по значению или совместное использование вызовов, потому что эти функции вызываются с (как правило, ограниченным набором) «lvalues» в качестве аргументов и переназначением параметров в функции влияет на « lvalues "снаружи. «lvalues» обычно являются переменными, и поддержка такого соглашения о вызове отличается языком (многие его не поддерживают!).
Счастливое кодирование.
Ссылка на A передается по значению. Изменения, внесенные вами в метод A, являются локальными только для этого метода. Отличная запись на эту тему можно найти здесь [http://javadude.com/articles/passbyvalue.htm) – CoolBeans
Эта вещь, как и везде. –