Junior — Middle
Hogyan történik az adatok átadása a Java nyelvben a metódus paramétereibe?
sobes.tech MI
Válasz az MI-től
Java-ban az adatok átadása a metódus paramétereinek érték szerint történik (pass-by-value). Az alapvető típusokhoz (int, boolean stb.) a érték másolata kerül átadásra a metódusnak. Objektumok esetén a referencia másolata kerül átadásra, vagyis magát az objektumot nem másolják, csak a referencia érték szerint kerül átadásra.
Példa:
void changeValue(int x) {
x = 10; // helyi másolat módosul
}
void changeObject(MyObject obj) {
obj.field = 10; // az objektum mezője, amelyre a referencia mutat, módosul
}
Így a primitív paraméterek változtatása a metóduson belül nem befolyásolja az eredeti változókat, míg az objektum mezőinek változtatása igen, mivel az objektum ugyanaz.