1.定义的位置不一样
局部变量:在方法内部
成员变量,在方法外部,直接写在类当中
2.作用的范围不一样
局部变量:只有在方法中才可以使用,出了方法不能再用
成员变量,整个类全都可以通用
3.默认值不一样
局部变量:没有默认值,如果要使用,必须手动赋值
成员变量,如果没有赋值,会有默认值,规则和数组一样:0,null等
- 内存位置不一样
局部变量:位于栈内存,
成员变量:位于堆变量
5.生命周期不一样
局部变量随方法进栈诞生,随方法出栈消失
成员变量随对象创建诞生,随对象被垃圾回收而消失