Объект и ссылки в Java - PullRequest
       1

Объект и ссылки в Java

2 голосов
/ 17 декабря 2011

Я в замешательстве, так как я новичок в Java, сколько объектов и ссылок создано в следующем фрагменте кода?

MyClass t = new MyClass();
MyClass s = new MyClass();
MyClass v = s;

Пожалуйста, объясните ответ:

2 Objects
3 References

Ответы [ 5 ]

6 голосов
/ 17 декабря 2011

Картинка стоит больше тысячи слов:

enter image description here

2 голосов
/ 17 декабря 2011

2 Object и

3 ссылка

если вы делаете new, вы создаете объект, поэтому есть два новых, просто два объекта

и если вы определите

Foo a;// you have just created a reference

* Примечание: new - это только способ создания объекта, его также можно создать с использованием других способов

2 голосов
/ 17 декабря 2011

Итак, вы создаете новый объект и сохраняете ссылку на этот объект в t. То же самое для s. Затем вы присваиваете ссылку s на v (без создания нового объекта). Итак, у вас есть три ссылки и два объекта.

2 голосов
/ 17 декабря 2011

Объект - это экземпляр класса, созданный с помощью new.Вы используете new дважды, поэтому есть два объекта. *

Переменная - это, вообще говоря, ссылка. ** Таким образом, существует три ссылки (t, s, v), хотя два из них ссылаются на один и тот же объект.


* Конечно, MyClass сам может создать больше объектов внутри..

** За исключением случаев примитивных типов, таких как int, float и т. Д.

0 голосов
/ 17 декабря 2011

На самом деле ваш ответ неверен.И наоборот:

2 объекта (в первых двух строках)

3 ссылки (t, s, v, v и s разделяют объект)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...