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; // τροποποιείται το πεδίο του αντικειμένου στο οποίο δείχνει η αναφορά
}

Έτσι, οι αλλαγές στους πρωταρχικούς παραμέτρους μέσα στη μέθοδο δεν επηρεάζουν τις αρχικές μεταβλητές, ενώ οι αλλαγές στα πεδία των αντικειμένων επηρεάζουν, καθώς το αντικείμενο είναι το ίδιο.