Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Передача за Значенням у Java | Розділ
Основні поняття Java

bookПередача за Значенням у Java

Свайпніть щоб показати меню

Розуміння передачі за значенням у Java

У Java всі аргументи методів передаються за значенням. Це означає, що коли ви передаєте змінну до методу, Java копіює значення цієї змінної та надсилає копію до методу. Метод працює саме з цією копією, а не з оригінальною змінною з вашого коду.

  • Якщо ви передаєте примітивний тип (наприклад, int, double або boolean), метод отримує копію фактичного значення. Будь-які зміни параметра всередині методу не впливають на оригінальну змінну поза методом;
  • Якщо ви передаєте посилання на об'єкт (наприклад, масив або користувацький клас), Java все одно передає значення посилання (адресу в пам'яті). Метод отримує копію цього посилання, тому і оригінал, і параметр методу вказують на один і той самий об'єкт. Ви можете змінювати внутрішній стан об'єкта всередині методу, але якщо присвоїти параметру новий об'єкт, оригінальне посилання поза методом не зміниться.

Ця поведінка важлива для розуміння того, як змінюються або залишаються незмінними ваші змінні після виклику методів у Java.

Main.java

Main.java

copy
123456789101112131415
package com.example; public class Main { public static void main(String[] args) { int number = 10; System.out.println("Before method call: number = " + number); changeValue(number); System.out.println("After method call: number = " + number); } public static void changeValue(int num) { num = 20; System.out.println("Inside method: num = " + num); } }

У цьому коді метод changeValue отримує копію змінної number, оскільки Java використовує передачу за значенням.
Зміна num всередині методу не впливає на number у main, тому її значення залишається 10 після виклику методу.

question mark

Що буде виведено при виконанні цього коду?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 10

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 1. Розділ 10
some-alt