Sobes.tech
Junior — Middle

Kaip vyksta duomenų perdavimas į metodo parametrus Java kalboje?

sobes.tech AI

Atsakymas iš AI

Java kalba duomenų perdavimas į metodų parametrus vyksta pagal reikšmę (pass-by-value). Primitiviems tipams (int, boolean ir kt.) į metodą perduodama kopija reikšmės. Objektais perduodama kopija nuorodos į objektą, tai yra pats objektas nėra kopijuojamas, tik nuoroda į jį perduodama pagal reikšmę.

Pavyzdys:

void changeValue(int x) {
    x = 10; // vietinė kopija keičiasi
}

void changeObject(MyObject obj) {
    obj.field = 10; // keičiasi objekto laukas, į kurį nurodo nuoroda
}

Šiuo būdu, primitivių parametrų pakeitimai metodo viduje nepaveikia originalių kintamųjų, o objektų laukų pakeitimai — paveikia, nes objektas tas pats.