局部变量需要显式赋值,否则编译不了,设计原理分析

7 篇文章 0 订阅

先说一下成员变量,成员变量并不需要初始化,而是在类加载的准备阶段赋予默认值,但是局部变量使用前需要初始化,不会默认赋值,为什么这么设计?
成员变量其赋值和取值的顺序具有不确定性,可以在方法调用(取值)前赋值,也可以在方法调用(取值)后赋值,其具体顺序是在运行时发生的,编译器确定不了。而局部变量,赋值、取值顺序确定。所以局部变量赋值使用,是一种设计约束,减少犯错的可能性。如果局部变量默认赋值了,可能会有很多忘记赋值的,从而出现不可预期的情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值