1:位置不同:成员变量:在类种方法外
局部变量:方法内或方法声明上
2:存储位置不同:成员变量:在堆内存
局部变量:在栈内存
3:初始值不同:成员变量:有默认初始值,具体的类型默认初始值在(java数组的初始化博客)中有写
局部变量:没有默认初始值,必须经过赋值才能使用
4:生命周期不同:成员变量:由于存在于堆内存,因此它与对象共存亡
局部变量:根据栈内存的的特性,其跟随方法调用而存亡(至于栈内存和堆内存的讲解在java数组的初始化博客中)
注意:局部变量名称和全局变量名称是可以重复的,使用时根据就近原则使用