一:定义的位置不同
成员变量,定义在类中,方法外
局部变量,方法内,语句内
二:作用域不同
成员变量,作用范围,整个类
局部变量,方法内,语句内
二:在内存中的位置不同
成员变量,跟随对象进入对内存存储
局部变量,跟随自己的方法,进入栈内存
三:生命周期不同
成员变量随着对象的出现而出现在堆中,随着对象的消失而从堆中消失,内存等待JVM清理,生命相对较长
局部变量,跟随方法,方法出栈。生命相对较短
四:默认值不同
成员变量,有自己的默认值
局部变量,没有默认值,不赋值不能使用