Junior — Middle
Jak odbywa się przekazywanie danych do parametrów metody w języku Java?
sobes.tech AI
Odpowiedź od AI
W Javie przekazywanie danych do parametrów metod odbywa się przez wartość (pass-by-value). Dla typów prostych (int, boolean itp.) do metody przekazywana jest kopia wartości. Dla obiektów przekazywana jest kopia odwołania do obiektu, czyli sam obiekt nie jest kopiowany, ale odwołanie do niego jest przekazywane przez wartość.
Przykład:
void changeValue(int x) {
x = 10; // lokalna kopia jest zmieniana
}
void changeObject(MyObject obj) {
obj.field = 10; // pole obiektu, na który wskazuje odwołanie, jest zmieniane
}
W ten sposób zmiany parametrów prostych wewnątrz metody nie wpływają na oryginalne zmienne, natomiast zmiany pól obiektów tak, ponieważ obiekt jest ten sam.