1.源代码中定义位置不同
成员变量定义在方法外类中
局部变量定义在方法中(只要是类的下一级大括号都是局部的);
2.内存中的存储位置不同.
成员变量存储在堆内存中的对象中
局部变量存储在栈内存的方法中
3.生命周期
成员变量随着类创建对象的出现而出现,随着对象被回收之后就消失。
局部变量随着方法(代码块)的执行,及所属区间的运行出现,随着所属区间的结束而释放
4.使用范围
成员变量:整个类
局部变量:方法内(代码块内)
5.成员变量可以被public ,protect,private,static 等修饰符修饰;而局部变量不能被static 修饰
因为局部变量是定义在方法中的,static 与类同级,因为方法里的内容被调用的时候才执行。