04-成员变量(全局变量)和局部变量的区别
局部变量和成员变量
1.定义的位置不一样(重点)
局部变量:在方法的内部
成员变量:在方法的外部,直接写在类中
2.作用的范围不一样(重点)
局部变量:只有方法当中才可以调用,出了方法就不能再调用(方法里)
成员变量:整个类都可以通用(类里方法外)
3.默认值不一样(重点)
局部变量:没有默认值,如果要想使用,必须手动进行赋值
成员变量:如果没有赋值,会有默认值,规则和数组一样
基本数据类型的默认值:
基本类型 |
默认值 |
byte |
0 |
short |
0 |
int |
0 |
long |
0 |
float |
0.0 |
double |
0.0 |
boolean |
false |
4.内存的位置不一样
局部变量:栈内存
成员变量:堆内存
4.生命周期不一样
局部变量:随着方法进栈而诞生,随着方法出栈而消失
成员变量:随着对象创建而诞生,随着对象被拦击回收而消失