It - archiv
Ворожіння на кавовій гущі, або передача за значенням в Java
Тепер давайте розглянемо ще один приклад.
Якщо ж програмісту необхідно (!) Зробити так, щоб викликаний метод змінив значення посилання, то треба "обернути" це посилання спеціальним об'єктом (або використовувати масив) і передати цю "обгортку" в якості параметра методу, який і змінить значення "загорнутої в обгортку "посилання.
Можна запрограмувати і так, щоб для зміни значення посилання використовувати значення, що повертається методу:
Якщо програмісту потрібно, щоб викликаний метод змінив передані йому значення змінних "примітивних" типів, то ці змінні можна також "обернути" спеціальним об'єктом (або використовувати масив) і передати цю "обгортку" в якості параметра.)
Уявіть собі, що Ви, шановний Новомосковсктель, робите подорож. Під час свого дивовижного подорожі Ви зустрічаєте багатьох людей. Деяким із зустрічних Ви копіюєте частину своєї дорожньої карти, звертаючись до них з проханням показати Ваш подальший шлях. Вам у відповідь ті, кого Ви питаєте, повертають часткові КОПІЇ своїх дорожніх карт, керуючись якими Ви і продовжуєте своє дивовижне подорож. Що було б, якби Ви змушені були для продовження своєї подорожі віддавати оригінал (!) Своєї дорожньої карти в руки зустрічного? Вашу дорожню карту могли б розірвати! І Ваше дивовижне подорож могло б тоді закінчитися вельми сумно.
Звичайно, якщо який-небудь зустрінутий Вами погана людина захоче спалити місто, дізнавшись від Вас місце розташування (!) Цього незахищеного міста, за наданою йому часткової копії Вашої дорожньої карти, то він це цілком може зробити. Але, якщо на часткової копії Вашої дорожньої карти, наданої цим поганій людині, нанесені тільки захищені (!) Фортеці, то у Вас є дуже велика впевненість, що до моменту приходу в цю фортецю Ви не знайдете там одні руїни, а Вас і зігріють і нагодують, як Ви і розраховували.
І, керуючись заповітами товариша Штірліца (запам'ятовується остання фраза), ще раз повторю - ВСЕ ПАРАМЕТРИ В JAVA передаються за значенням.)