TGViewer
Программист живёт нормально Программист живёт нормально @programmers_ed · 1.99K subscribers
Post #7 414
Итак, начнем с довольно остросоциальной темы☠️

#java #junior
Как передаются параметры в Java? По ссылке или по значению?

Очень часто люди отвечают как-то так: "Java передает примитивные типы по значению, а объекты по ссылке"
На самом деле ответ проще: Java всегда передает параметры по значению

Давайте разберемся в определениях:

Передача по значению (by value): Берется переменная, значение которой мы хотим использовать в методе. Значение этой переменной КОПИРУЕТСЯ и передается в метод.
Передача по ссылке (by reference): Берется переменная, значение которой мы хотим использовать в методе. Значение этой переменной НЕ КОПИРУЕТСЯ. В метод передается лишь УКАЗАТЕЛЬ на саму эту переменную (не на ОБЪЕКТ, а на ПЕРЕМЕННУЮ, которая указывает на ОБЪЕКТ)

С примитивными типами все понятно, в Java мы копируем значение переменных и считаем что-то в методе, самая настоящая передача по значению 👍

С ссылочными типами и возникают трудности. Часто под "передачей параметра по ссылке" люди имеют ввиду "передачу ссылки на объект".
Действительно, в Java в метод передается КОПИЯ ссылки на объект. Однако суть "передачи значения по ссылке" в том, что в метод передается НЕ ссылка на объект, а ссылка на переменную, которая уже ссылается на этот объект.

То есть при "передаче по ссылке" в методе мы получаем УКАЗАТЕЛЬ на ПЕРЕМЕННУЮ, которая в свою очередь указывает на ОБЪЕКТ.
А при "передаче по значению" в метод просто КОПИРУЕТСЯ ссылка на объект, и именно так и происходит в Java.

Java всегда передает параметры по значению 👩‍🎓
  • 🔥 3
  • ❤ 1
  • 👍 1
More from @programmers_ed
  1. Jun 12, 2026За 2025 и часть 2026 удалось выделить прилично времени на различное обучение. Тут и обучен…
  2. May 17, 2026Решил для себя, что максимально оттяну момент, когда начну в работе использовать ИИ-агенты…
  3. Mar 23, 2026Пришло время рассказать о моем обучении на мини-курсе Стратоплана «Основа», который стал п…
  4. Mar 22, 2026Недавно осознал такую мысль Пока ты начинаешь осваивать программирование - некоторые подхо…
  5. Feb 4, 2026Ну что, мое обучение в Стратоплане продолжается На этот раз успели разобрать много полезно…
  6. Feb 1, 2026Post #434
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →