for循环中声明的变量是不是在下一次循环时就失效了?
public class Test {public static void main(String[] args) {
Student stu = new Student();
Student stu = new Student();
for(int i=0;i<2;i++){
Student stu2 = new Student();
}
}
}
我知道变量名是不能重复的,在for循环中stu2变量两次被用到是不是重复了?内存怎么分配的啊,请讲解一下原理哈 for循环变量的生存中期是怎样的? --------------------编程问答-------------------- --------------------编程问答-------------------- 第二次循环的时候前一次的变量就出了作用域,第二次重用这块空间 --------------------编程问答--------------------
应该是等待回收,而不是重用 --------------------编程问答--------------------
是stu2被重用,不是stu2所指向的对象 --------------------编程问答-------------------- 同类型同名的对象只占用一块内存。在for循环中第一次为stu2创建对象被分配了一块内存。当第二次开始被创建时看到是同类型同名的就没有创建,还是使用那块内存的一个对象。 --------------------编程问答-------------------- 第二次循环直接就覆盖原先的变量名了,原先的变量其实就是名存实亡
补充:Java , Java SE