黑马程序员技术交流社区

标题: 成员变量与局部变量存在时间的问题 [打印本页]

作者: shoresmile    时间: 2015-10-14 10:05
标题: 成员变量与局部变量存在时间的问题
先看一下代码

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调用方法结束之后?





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2