静态变量与实例变量(方法)的区别
这道题主要考察的是我们对于static静态关键字是如何理解的(分为以下三点)
一、语法区别:
静态变量前要加static关键字,实例则不用
二、隶属区别:
实例变量属于某个对象的属性。而静态属于类(使用静态变量的时候直接使用类名.静态变量就可以了)使用上来说是不同的。
三、运行区别(根本的区别):
静态变量在JVM加载这个类的时候,就被创建了,而且在运行过程中,静态变量是无法被垃圾回收所释放的。实例变量则是在实例化对象的时候创建,也就是在执行new的时候他才进行创建,对于实例变量,我们不再使用的时候,它就会被我们垃圾回收掉
注意:
静态变量与实例变量存储的地方也是不同的,静态变量存储在JVM的方法区中,而实例变量则存在于对象堆的内存中。作为实际开发的时候,静态变量它的存储空间是相对比较小的,而实例变量存储的空间比较多,在我们Java面向对象编程中,我们在绝大多数场景下推荐优先使用实例变量而减少对静态变量的使用