在类中的位置不同
成员变量:在类内部方法外部
局部变量:在方法体内部定义的或者方法的参数中定义的
在内存中的位置不同
成员变量:在堆内存,有初始化值,byte,short,int,long-》0,char-》'\u0000',float,double-》0.0,引用类型-》null;
局部变量:在栈内存,没有初始化的值,必须初始化后才能使用。
生命周期不同
成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
初始化值不同
成员变量:有默认初始化值
局部变量:没有默认初始化值,必须定义,赋值,然后才能使用。
注意事项:
局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。