区别: 在类中的位置不同 成员变量:在类中方法外 局部变量:在方法定义中或者方法声明上的变量(形参)在内存中的位置不同 成员变量:在堆内存 局部变量:在栈内存生命周期不同 成员变量属于对象,局部变量属于方法。 成员变量:随着对象的创建而存在,随着对象的消失而消失。 局部变量:随着方法的调用而产生,随着方法的调用完毕而消失。初始化值不同 成员变量:不赋值,有默认初始化值。 局部变量:必须定义,赋值,然后才能使用。 变量的访问原则: 遵循就近原则。方法要访问一个变量,会现在局部变量(方法内部或形参)找,找到就使用。若找不到,会在成员位置(类中方法外)找,找到就使用。