![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| sneer |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 13.10.2008 Репутация: нет Всего: нет |
почему выводит 15 0 20? Не могу понять. где-то видать что-то пропустил когда читал книжку. |
|||
|
||||
| inohodec |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 151 Регистрация: 1.12.2004 Репутация: 2 Всего: 2 |
Где то что то пропустил
Сначала ты распечатываешь функцию - second В ней у тебя переменная v смотрит на new Value, т.е. выводится 15 и 0 Затем ты возвращаешься в функцию - first, и распечатываешь значение которое задал в предыдущей функции - second PS Почитай как передаются значения в Джаве |
|||
|
||||
| ecologist |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 452 Регистрация: 28.2.2007 Репутация: 2 Всего: 9 |
Когда ты передал в метод second объект Value - ты передал копию ссылки на объект. Но не сам объект.
Теперь в методе second ты присвоил через ссылку полю объекта (v.i=20) - теперь объект имеет значение для i - 20. Очень важно заметить, что объект - это отдельная чсть памяти, на которую ссылаются ссылки. Потом в методе second ты создал новый объект Value (который при инициализации имеет значение поля i=15). Ну вот ты его и напечатал - 15. Потом ты печатаешь обычную переменную i - она определена внутри метода и имеет значение 0. А при печати в методе first ты печатаешь значение объекта, ссылку на который ты передавал - ссылка копируется, а объект нет. Т.е. у тебя две ссылки на один и тот же объект. И в методе second ты через копию ссылки объект поменял - поле v.i=20. Так что все корректно. |
|||
|
||||
| sneer |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 13.10.2008 Репутация: нет Всего: нет |
ага тоесть
затирает только ссылку. Всё таки в java как-то не явно всё это по сравнению с с++ там если ссылка так ссылка, указатель так указатель. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |