1.1内存位置
成员变量在堆内存(成员变量属于对象,对象是存在堆内存中)
局部变量在栈内存(局部方法属于方法,方法存在栈内存中)
1.2生命周期
成员变量的生命周期由对象决定,对象被创建,则开始存在,对象消失时也就消失
局部变量的生命周期由方法是否调用觉得,调用则存在,调用结束则消失
1.3类中的位置
成员变量在类中的方法外
局部变量在类中的方法内
1.4初始值的差异
成员变量是有默认值的,定义之后就可以使用
局部变量是没有初始值,定义之后还要赋值才可以使用
另外:
局部变量和全局变量的名称可以一样,java中采用的是就近原则,这也是为什么平时类里面的get/set方法会加上this关键字