在JAVA中成员变量与局部变量有何区别?

1. 定义的位置

成员变量是定义在类中独立于方法外的变量,而局部变量是定义在类的方法中的变量;

2. 修饰符

成员变量可以被public,protected,private,static等修饰符修饰,而局部变量不能被这些权限修饰符修饰(局部变量本身就是一个访问权限的设定);

3. 作用范围

成员变量在整个类都可以用,局部变量只有在方法体内才有效,出了方法就不能在用了;

4. 内存位置

成员变量存储在堆当中,而局部变量储存在栈当中;

5. 默认初始值

成员变量如果没有赋值会自动使用默认的初始值,而局部变量没有默认的初始值,必须自行设定初始值;

6. 生命周期

成员变量随着对象的创建而创建,对象回收时,成员变量消失,局部变量随方法进栈而诞生,随访发出栈而消失。

7. 优先级

局部变量可以和成员变量同名,且在使用时,局部变量具有更高的优先级,直接使用同名访问,访问的是局部变量,如需要访问成员变量可以用 this.变量名进行访问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xclincer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值