Передача за Значенням у Java
Свайпніть щоб показати меню
Розуміння передачі за значенням у Java
У Java всі аргументи методів передаються за значенням. Це означає, що коли ви передаєте змінну до методу, Java копіює значення цієї змінної та надсилає копію до методу. Метод працює саме з цією копією, а не з оригінальною змінною з вашого коду.
- Якщо ви передаєте примітивний тип (наприклад,
int,doubleабоboolean), метод отримує копію фактичного значення. Будь-які зміни параметра всередині методу не впливають на оригінальну змінну поза методом; - Якщо ви передаєте посилання на об'єкт (наприклад, масив або користувацький клас), Java все одно передає значення посилання (адресу в пам'яті). Метод отримує копію цього посилання, тому і оригінал, і параметр методу вказують на один і той самий об'єкт. Ви можете змінювати внутрішній стан об'єкта всередині методу, але якщо присвоїти параметру новий об'єкт, оригінальне посилання поза методом не зміниться.
Ця поведінка важлива для розуміння того, як змінюються або залишаються незмінними ваші змінні після виклику методів у Java.
Main.java
123456789101112131415package 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 після виклику методу.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат