Мой текст попросил меня сосчитать ссылки на объект. Внутри данного кода было следующее:
Honey honeypot = new Honey();
Honey [ ] ha = {honeypot, honeypot, honeypot, honeypot};
Bees b1 = new Bees();
b1.beeHA = ha;
, где конструктор для Bees
создает массив Honey[ ] beeHA
.
Теперь я подумал, что beeHA
теперь будет содержать ссылку honeypot
в четырех позициях, как и массив ha
, и что это будут четыре отдельные ссылки плюс четыре из массива ha
, создающих восемь ссылок. Но диаграмма, которую книга дает в качестве ответа, говорит, что массив beeHA
указывает только на массив ha
, а не на объект, на который ссылается ссылочная переменная honeypot
, делая только четыре ссылки. Я правильно об этом думаю?
Если бы массив ha
собирался собирать мусор (тема главы), не было бы в b1.beeHA[x]
ссылочной переменной honeypot
?