среда, 8 июня 2011 г.

с. 256 (Черновик) Клонирование объектов

Клонирование объектов
После создания копии переменной и оригинал, и копия представляют собой ссылки на один и тот же объект. Это значит, что изменение одной переменной повлечёт за собой изменение другой.
"Изменение переменной..." Коряво звучит. Вероятно, подразумевается изменение состояния объекта, на который указывает ссылка-переменная.

Вопрос: Что представляет собой копия переменной?
Ответ: Если принять, что переменная - это ссылка на некоторый объект, то копия переменной - это другая ссылка, указывающая на тот же объект.

3 комментария:

  1. Не думаю что активно используется терминология "копия переменной". Слишком неоднозначно. И так же неоднозначен ответ. Почему не "ссылку на объект-клон"?

    ОтветитьУдалить
  2. Все вопросы и ответы опираются на книжный материал...
    Какие альтернативы "копии переменной"?

    ОтветитьУдалить
  3. Сложно предложить альтернативы термину, определения которого я не знаю :)
    Есть или переменная-ссылка на объект, и если другой переменной-ссылке присвоить первую, то они будут ссылаться на один и тот же объект.
    Если переменной-ссылке присвоить ссылку на результат метода clone то она и будет ссылаться на клон.
    Если переменная типа примитив, то присвоении ей другого примитива будет копироваться значение.
    Если переменная примитив а справа ссылка или наоборот, то Java5 попытается сделать приведение типа (см. Autoboxing)

    ОтветитьУдалить