Sobes.tech
Junior — Middle
93

Wie erfolgt die Übergabe von Variablen per Referenz beim Aufruf von Methoden?

Unternehmen wurden gefragt
Eclipse Digital

Antwort von AI

sobes.tech KI

В Java передача параметров в методы всегда происходит по значению, то есть копируется значение переменной. Однако, если передается объект, копируется ссылка на объект, а не сам объект. Это часто называют "передачей по ссылке", но на самом деле передается копия ссылки.

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

Пример:

class MyObject {
    int value;
}

public class Example {
    public static void modifyObject(MyObject obj) {
        obj.value = 10; // изменяем состояние объекта
        obj = new MyObject(); // меняем локальную копию ссылки
        obj.value = 20; // это изменение не повлияет на объект вне метода
    }

    public static void main(String[] args) {
        MyObject myObj = new MyObject();
        myObj.value = 5;
        modifyObject(myObj);
        System.out.println(myObj.value); // выведет 10
    }
}

Здесь видно, что изменение состояния объекта внутри метода сохраняется, а переназначение ссылки — нет.