在创建类的时候往往会创建局部变量和成员变量,本文总结了局部变量和成员变量的区别,方便加以区分。
-
位置不同
- 成员变量:在类中方法外定义
- 局部变量:在方法中或代码块中定义
-
作用范围
- 成员变量:当前类
- 局部变量:当前方法或当前代码块
-
默认值
- 成员变量:有默认值
- 局部变量:无默认值
默认的初始化值参照下表:
数据类型 默认值 boolean
false
char
'u0000'
byte
(byte)0
short
(short)0
int
0
long
0L
float
0.0f
double
0.0d
引用数据类型 null
-
初始化
- 成员变量:不需要且不建议初始化,后续使用的时候再赋值即可
- 局部变量:一定要初始还,不然直接使用的时候会报错
-
内存中位置
- 成员变量:在堆中存储
- 局部变量:在栈中存储
-
生命周期
- 成员变量:从当前对象创建到销毁
- 局部变量:从当前方法开始执行到执行完毕