Junior — Middle
Kuidas toimub andmete edastamine meetodi parameetrites Java keeles?
sobes.tech AI
Vastus AI-lt
Java-s kehtivad andmete edastamine meetodite parameetritele väärtuse (pass-by-value) alusel. Põhiliikide (int, boolean jms) puhul edastatakse meetodile väärtuse koopia. Objekti puhul edastatakse viite koopia objekti, see tähendab, et ise objekti ei kopeerita, vaid sellele viitav koopia edastatakse väärtuse alusel.
Näide:
void changeValue(int x) {
x = 10; // kohalik koopia muudetakse
}
void changeObject(MyObject obj) {
obj.field = 10; // muudetakse objekti väli, millele viitab viide
}
Selle meetodi sisemuses primitiivsete parameetrite muutmine ei mõjuta algseid muutujaid, samas objektide väljade muutmine — mõjutab, kuna objekt on sama.