Могут ли 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);
}
}
}
Нет. В списке будет 10 элементов, которые являются ссылками на разные экземпляры класса Song.
По завершению цикла переменная newSong вообще перестанет существовать.