局部变量和成员变量的区别
萌新的日常操作
1、定义的位置不一样【重点】
- 局部变量:在方法内部
- 成员变量:类里方法外
2、作用范围不一样【重点】
- 局部变量:只有方法当中才可以使用,出了方法就不能再用了
- 成员变量:作用范围是整个类都可以通用
3、默认值不一样【重点】
- 局部变量:没有默认值,如果想要使用,必须手动进行赋值
- 成员变量:如果没有赋值,会有默认值,规则和数组一样,默认值如:
数据类型 | 默认初始值 |
---|---|
int | 0 |
float | 0.0f |
double | 0.0 |
boolean | false |
char | ’ ’ |
string | null |
4、内存的位置不一样(了解)
- 局部变量:位于栈内存
- 成员变量:位于堆内存
5、生命周期不一样(了解)
- 局部变量:随着方法进栈而诞生,随着方法出栈而消失
- 成员变量:随着对象的创建而诞生,随着对象的消失而消失
6、命名冲突(了解)
- 局部变量:局部变量之间不允许重名
- 成员变量:可与局部变量重名,局部变量优先
注:如果成员变量的声明和赋值分开完成,则赋值语句必须在方法的内部。