分析&回答
可见范围
- 成员变量只能被对象所调用 。静态变量可以被对象调用,也可以被类名调用。
- 静态变量前要加static关键字,而实例变量前则不加。
存储不同
- 成员变量数据存储在堆内存的对象中,所以也叫对象的特有数据。
- 静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据
生命周期不同
- 成员变量与对象共存亡,随着对象创建而存在,随着对象被回收而释放
- 静态变量与类共存亡,随着类的加载而存在,随着类的消失而消失(类不消失一直存在(不考虑回收机制),生命周期长)
反思&扩展
注意:成员变量(静态和非静态)、字符串常量池由方法区迁移到堆。
成员变量与局部变量的区别?
- 成员变量的作用域是在类中;局部变量的作用域是在方法中
- 成员变量可以不赋初值;局部变量必须赋初值
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!