ورود

View Full Version : جاوا و برخورد با پارامتر های توابع



majno0n
شنبه 02 شهریور 1392, 02:50 صبح
سلام
می خواستم بدونم وقتی یه تابعی مینویسیم و یه object رو به عنوان پارامتر بهش میدیم ، جاوا یه کپی از object مون رو میده به تابع ؟ اگر یک refrence به object رو میده به تابع ، پس چرا با تغییر object در تابع
وقتی از تابع میایم بیرون ، object تغییری نمی کنه ؟
تشکر :)

cups_of_java
شنبه 02 شهریور 1392, 07:57 صبح
اگه میگشتی جواب این سوال رو که بارها داده شده پیدا میکردی، اما به هر حال:

جاوا یه کپی از Reference به اون Object براتون میفرسته به تابع بنابراین، چون ارجاع کپی شده نه خود شی، پس Call-By-Reference حساب میشه و شما شی رو می تونی تغییر بدی. اینکه چرا شی شما تغییر نکرده می تونه برگرده به اینکه کلاس اون شی چیه و ...! ممکنه Immutable بوده باشه.