1.局部变量和成员变量的区别:
1)在类中的位置不同 局部变量:在方法定义中或者是方法声明上的变量
成员变量:在类中,方法外定义的变量
2)在内存中的位置不同
局部变量:在栈内存中存储 跟方法有关系
成员变量:在堆内存中存储 跟类的对象有关系
3)生命周期不同
局部变量:随着方法的调用而存在,随着方法调用完毕而消失
成员变量:随着对象的创建而存在,随着对象的创建完毕,等待垃圾回收掉(GC)之后才消失
4)初始化不同
局部变量:在方法定义中或者方法声明上的变量,必须在使用之前进行数据初始化,否则“可能尚未出始化变量”
成员变量:跟对象有关系,在堆内存中,即使这个成员变量没有赋值,系统会根据变量的类型给这个变量进行默认初始化