先看一下代码
class Test{
int num;
public void function(){
System.out.println("执行方法");
for(int i=0; i<3; i++)
System.out.println(i);
}
public static void main(String[] args){
Test t1;
Test t2 = new Test();
t2.function();
System.out.println("结束");
}
}
我的问题,在网上查找成员变量与局部变量的区别,都写了存在时间不同,但是都没有细讲,所以我想问一下
成员变量num什么时候在内存中被存储,是主函数运行的时候内存中就有num了,还是Test t1;的时候有,又或者是在Test t2 = new Test();实例化之后才有的num?又是什么时候释放空间被回收的呢,是在t2.function();这条语句结束之后,还是在整个java程序结束之后?
局部变量i又是什么时候被存储的呢,是在function方法被调用的时候存储的还是在function方法被调用执行到for语句的时候才有的?释放时间呢,for语句结束就释放掉了?还是t2调用方法结束之后?
|
|