Sobes.tech
Junior — Middle

როგორ ხორციელდება მონაცემების გადაცემა მეთოდის პარამეტრებში Java-ში?

sobes.tech AI

პასუხი AI-სგან

Java-ში მონაცემების გადაცემა მეთოდების პარამეტრებში ხდება მნიშვნელობით (pass-by-value). ძირითადი ტიპებისთვის (int, boolean და ა.შ.) მეთოდს გადაეცემა მნიშვნელობის კოპია. ობიექტებისთვის — ობიექტის მითითების კოპია, ანუ თვით ობიექტი არ იკოპირებს, არამედ მის მითითებას გადაეცემა მნიშვნელობით.

მაგალითი:

void changeValue(int x) {
    x = 10; // ადგილობრივი კოპია იცვლება
}

void changeObject(MyObject obj) {
    obj.field = 10; // ობიექტის ველი იცვლება, რომელსაც მითითება უჭირავს
}

ამ გზით, მეთოდის შიგნით პრიმიტიული პარამეტრების ცვლილებები არ ახდენს გავლენას ორიგინალურ ცვლილებზე, ხოლო ობიექტების ველების ცვლილებები — ახდენს, რადგან ობიექტი იგივეა.