Здравствуйте, можете подсказать что происходит со ссылками и объектами в этой программе(задача из Head First Java)?
class Bees {
Honey [] beeHA;
}
class Raccoon {
Kit k;
Honey rh;
}
class Kit {
Honey kh;
}
class Bear {
Honey hunny;
}
public class Honey {
public static void main(String [] args) {
Honey honeyPot = new Honey();
Honey [] ha = {honeyPot, honeyPot, honeyPot, honeyPot};
Bees b1 = new Bees();
b1.beeHA = ha;
Bear [] ba = new Bear[5];
for (int x=0; x < 5; x++) {
ba[x] = new Bear();
ba[x].hunny = honeyPot;
}
Kit k = new Kit();
k.kh = honeyPot;
Raccoon r = new Raccoon();
r.rh = honeyPot;
r.k = k;
k = null;
}
}
Верны ли следующие утверждения?
В строке k.kh = honeyPot мы присваиваем ссылке из хипа kh значение локальной(стековой) ссылки honeyPot.
в строке r.k = k присваиваем значение локальной стековой ссылки k(k.kh) ссылке из хипа(полю класса) r.k.
Последний пункт стоит особняком, именно здесь у меня возникли недопонимания после прочтения ответа из учебника: "Поскольку гк по-прежнему ссылается на объект Kit, переменная r.k.kh (несмотря на то что она явно не объявлена) связана с объектом!". Но ведь ссылка к из хипа ничего не знает о поле kh! Или знает, т.к. это переменная класса Kit? И как это вообще понимать r.k.kh?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Помогите, не могу разобратьсяЯ начал изучать Spring (IoC Concept), разобрал как можно конфигурировать бины через xml и отдельно через аннотации, но не пойму...
Можно ли запустить код, который написан на Java, из программы, которая написана на Python? Как, например, asm в c++А точнее, как из плагина на Питоне...
То есть пользователь видит Изменить имя: АлексейИ он может редактировать слово Алексей
Ребят, тут такая лажа, javac отказывается компилироватьЧто делать? Пробовал и javac и javac