Является ли Java «pass-by-reference» или «pass-by-value»?

Прежде всего, мы должны понимать, что подразумевается под передачей по значению или передачей по ссылке.

передается по ссылке

Когда параметр передается по ссылке, вызывающий и вызываемый используют одну и ту же переменную для параметра. Если вызываемый изменяет переменную параметра, эффект видится переменной вызывающего.

передается значением

Когда параметр передается по значению, вызывающий и вызываемый имеют две независимые переменные с одинаковым значением. Если вызываемый изменяет переменную параметра, эффект не отображается вызывающему.

При передаче по ref вы в основном передаете указатель на переменную. Переходите по значению, вы передаете копию переменной. При базовом использовании это обычно означает, что с помощью ref изменения в переменной будут отображаться вызывающим методом и передаваться по значению, которое они выиграли.

Java Spec говорит, что все в Java является передачей по значению. В Java нет такой вещи, как «pass-by-reference». К сожалению, они решили назвать местоположение объекта «ссылкой». Когда мы передаем значение объекта, мы передаем ему ссылку. Это пугает начинающих.

Пример

Выход

Источник: http://net-informations.com/Java/cJava/value.htm

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)

Add a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *