@vapi

Могут ли 2 объекта одинакового типа иметь одинаковое имя ссылки, если создавать объекты в цикле?

Для опытных программистов вопрос смешной, но все же ответ на него нигде не нашел.
Цикл создает 10 объектов типа Song и добавляет их в коллекцию. В каждой итерации цикла используется одна и та же ссылочная переменная newSong.

Вопрос: когда цикл закончит свою работу в коллекции ArrayList будет всего один объект типа Song (последний добавленный) на который ссылается ссылка "newSong", а все остальные объекты Song будут без ссылки?

public class Song {
}

public class Test {
public static void main(String[] args) {
ArrayList list=new ArrayList();
for(int i=0; i<10;i++){
Song newSong=new Song();
list.add(newSong);
}
}
}
  • Вопрос задан
  • 106 просмотров
Решения вопроса 1
GavriKos
@GavriKos
Нет. В списке будет 10 элементов, которые являются ссылками на разные экземпляры класса Song.
По завершению цикла переменная newSong вообще перестанет существовать.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы