A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

先看一下代码

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

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马