java中静态变量和实例变量的生命周期有什么区别?

[复制链接]
查看11 | 回复4 | 2017-11-23 14:23:27 | 显示全部楼层 |阅读模式
本人初学java,望详细点,容易理解点。3Q
我不是问这2个变量的不同,而是问他们生命周期有什么不同

回复

使用道具 举报

千问 | 2017-11-23 14:23:27 | 显示全部楼层
首先很能理解你求知而无解的心情,因为我也是过来人
静态变量是类相关的变量,所以他的生命周期是从这个累被声明,到这个类彻底被垃圾回收机制彻底回收才会被销毁。
实例变量是这个类的对象里的变量,它和静态变量不同,它只能由创建出的对象来调用,所以实例变量是从这个对象(其实就是实例)被创建开始,直到这个对象没有任何引用变量去引用它,最终被垃圾回收站回收,这时这个实例变量也跟着就消失了。
总而言之:静态变量生命周期就是类的开始和销毁
实例变量生命周期就是对象的开始和销毁。‘不知道这样说你能懂不,看着这些,自己好好理解理解,有时候不经意间就懂了呵呵
回复

使用道具 举报

千问 | 2017-11-23 14:23:27 | 显示全部楼层
1.存储区域不同:静态变量存储在静态存储区,普通变量存储在堆中;2.静态变量与类相关,普通变量则与实例相关,说细一点:class Demo {public static String a;public String b;public static void main(String[] args) { Demo d = new De
回复

使用道具 举报

千问 | 2017-11-23 14:23:27 | 显示全部楼层
我个人就是这么理解,虽然通俗,但是易懂:静态变量:独立存在的变量,只是位置放在某个类下,可以直接类名加点调用静态变量名使用。并且是项目或程序一启动运行到该类时就直接常驻内存。不需要初始化类再调用该变量。用关键字static声明。静态方法也是同样,可以直接调用。实例变量:就是相当于该类的属性,需要先初始化该类,就是new 该类后,才可以调用。但是该类未
回复

使用道具 举报

千问 | 2017-11-23 14:23:27 | 显示全部楼层
静态变量是从你使用到这个类开始一直到程序结束实例变量是在这个变量的作用域存在,比方函数里面的局部实例变量,在函数返回时就不存在了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行