成员变量和局部变量的区别?
成员变量和局部变量的区别?
-
- 1. 定义位置不同
- 2. 内存位置不同
- 3. 初始值不同
- 4.生命周期不同
- 5.作用域范围不同
1. 定义位置不同
局部变量:定义在方法中或者方法的声明上 成员变量:定义在类中方法外
2. 内存位置不同
局部变量:存储在栈中的方法中 成员变量:存储在堆中的对象中
3. 初始值不同
局部变量:没有默认初始值,想要使用一定要先赋值在使用 成员变量:有默认初始化值,如果不赋值也可以使用String类型的变量默认初始值 nullint类型的变量默认初始值 0boolean类型的变量默认初始值 falsedouble类型的变量默认初始值 0.0char类型的变量默认初始值 '\u0000'
4.生命周期不同
局部变量:因为是存储在方法中,所以是随着方法的存在而存在,随着方法的消失而消失 成员变量:因为是存储在对象中,所以是随着对象的存在而存在,随着对象的消失而消失
5.作用域范围不同
局部变量:出了方法就用不了了 成员变量:在本类中的方法中都可以使用