局部变量与成员变量的区别
代码位置不同
- 成员变量:类中方法外定义的变量
- 局部变量:方法/代码块中定义的变量
代码的作用范围不同
- 成员变量:当前类中的很多方法
- 局部变量:当前方法或当前代码块中
是否有默认值
- 成员变量:有默认值,且不同的数据类型有不同的默认值,参照基础与引用数据类型的默认值
- 局部变量:没有默认值
是否需要初始化
- 成员变量:不需要也不建议初始化,在后续使用的时候再进行赋值
- 局部变量:必须进行初始化,不然会报错
内存中位置不同
- 成员变量:变量存在堆内存中
- 局部变量:变量存在栈内存中
作用时间不同
- 成员变量:当前对象从创建到销毁,成员变量都是可用的
- 局部变量:当前方法或代码块开始执行到执行完毕,局部变量可用,当方法或代码块执行完后,局部变量从内存中删除
Java成员变量与局部变量的区别
原文:https://www.cnblogs.com/shanlei/p/14071601.html