为了账号安全,请及时绑定邮箱和手机立即绑定

成员变量和局部变量的问题。

老师讲:当两类变量同名时,方法会优先使用局部变量。也称之为“就近原则”。那么问题来了,这里讲的“优先使用”是说方法会优先使用局部变量但是还是会出现使用成员变量的情况,还是说方法在任何情况下都只会使用局部变量呢?如果是前面那种意思,那在什么情况会使用成员变量而不是局部变量呢?

正在回答

2 回答

1、局部变量和成员变量的作用域不同;局部变量在方法内部(方法开始到结束);成员变量作用域是整个类(从类开始到结束);

2、成员变量有默认值,(被final修饰且没有static的必须显式赋值),局部变量不会自动赋值

3、成员变量可以被public、protected、default、private、static、final修饰符修饰,局部变量只能被final修饰符修饰。

4、成员变量在堆里进行创建,局部变量在栈里进行创建。

0 回复 有任何疑惑可以回复我~

当方法中存在一个局部变量和成员变量同名时,使用的都是局部的变量,不会使用成员变量。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

成员变量和局部变量的问题。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信