静态成员变量VS成员变量VS局部变量

本文详细介绍了Java中的静态成员变量和实例成员变量的区别,包括它们的默认值、内存位置、生命周期以及调用方式。静态成员属于类级别,所有对象共享,而实例成员在每个对象创建时分配空间。此外,还探讨了两者的使用范围和内存管理,帮助理解何时使用静态和实例变量。
静态成员变量成员变量局部变量
默认值默认值相同无默认值
代码位置代码位置相同(类中方法外)方法内
内存位置方法区在堆中开辟空间在栈中开辟空间
修饰符不同

static 数据类型   变量名

(不可修饰局部变量)

数据类型     变量名;
内存份数所有对象共享一份创建一次对象就会开辟一次空间存放在栈中调用局部变量所在的方法才会被开辟
调用方法

         类名.属性名

(对象名.属性名   不推荐)

对象名.属性名
使用范围在类中  不可放在方法中在类中使用在方法内有效
生命周期:(开始)随着类的加载开辟空间成员变量创建对象才会开辟空间调用方法 开辟空间
结束类的卸载当没有对象指向堆中的空间时由GC回收方法执行完毕,弹栈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值