Не совсем понимаю почему конструкция: for (int i = 0; i < 10; i++) { Cat cats = new Cat(); } работает, в то время когда конструкция вида Cat cats = new Cat(); Cat cats = new Cat(); будет выдавать ошибку на то что объект cats уже задан. хотя по сути (для меня) в обоих случаях происходит одно и тоже?