1.成员变量是属于类的,而局部变量是在代码块或方法中定义的变量或是方法的参数;成员变量可以被 public,private,static 等修饰符所修饰,而局部变量不能被访问控制修饰符及 static 所修饰
2.成员变量属于对象,对象进堆内存;局部变量属于方法,方法进栈内存
3.成员变量:随着对象的创建而存在,随着对象的消失而消失;局部变量:随着方法的调用或代码块的执行而存在,随着方法的调用完毕或者代码块的执行完毕而消失
4.成员变量:有默认初始值 局部变量:没有默认初始值,使用前需赋值
成员变量和局部变量的重名问题,就近原则;可以使用this关键字区分,this.string指的是类中的成员变量,而不是方法内部的。
eg: