- 定义位置不同:
①,成员变量 : 定义在类中方法外的变量, 称为成员变量(全局变量)
②,局部变量 : 定义在方法中, 或者是定义在参数列表中变量, 称为局部变量
2.在内存中存储区域不同:
①,成员变量 : 跟着对象存储在堆内存中
②,局部变量 : 跟着方法存储在栈内存中
3.生命周期不同:
①,成员变量 : 跟着对象创建存在有值, 随着对象消亡而消失
②,局部变量 : 跟着方法调用进栈, 存在有值, 随着方法运行完毕, 局部变量跟着方法消亡
4.JVM初始化值不同
①,成员变量 : JVM虚拟机会有默认赋初值动作, 根据成员变量所属数据类型不同决定初值是多少
②,局部变量 : JVM虚拟机不会主动给局部变量赋值, 于是局部变量没有手动赋值, 不能使用