变量:成员变量,局部变量
区别:
区别一:定义的位置不同
成员变量:在类中定义
局部变量:定义在方法和语句中
区别二:在内存中的位置不同
成员变量:在堆内存的对象中
局部变量:在栈内存的方法中
区别三:生命周期不同
成员变量:随着对象的存在而存在,消失而消失
局部变量:随着方法的运行而出现,随着方法的弹栈而消失
区别四:初始化
成员变量:因为在堆中,所以有初始化为默认值
局部变量:没有默认初始化,必须要初始化才能使用
注意:局部变量在没有初始化时是没有开辟空间的(没有初始化的局部变量是无法使用的)
void show()
{
int x; //没有开辟空间的,不能使用
int a=4; //已经初始化,开辟了空间,可以使用
}