当前位置:编程学习 > JAVA >>

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循环变量的生存中期是怎样的? --------------------编程问答-------------------- --------------------编程问答-------------------- 第二次循环的时候前一次的变量就出了作用域,第二次重用这块空间 --------------------编程问答--------------------
引用 2 楼 ticmy 的回复:
第二次循环的时候前一次的变量就出了作用域,第二次重用这块空间

应该是等待回收,而不是重用 --------------------编程问答--------------------
引用 3 楼 huangfan575 的回复:
引用 2 楼 ticmy 的回复:第二次循环的时候前一次的变量就出了作用域,第二次重用这块空间
应该是等待回收,而不是重用


是stu2被重用,不是stu2所指向的对象 --------------------编程问答-------------------- 同类型同名的对象只占用一块内存。在for循环中第一次为stu2创建对象被分配了一块内存。当第二次开始被创建时看到是同类型同名的就没有创建,还是使用那块内存的一个对象。 --------------------编程问答-------------------- 第二次循环直接就覆盖原先的变量名了,原先的变量其实就是名存实亡
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,