1. 成员变量与局部变量的区别:
(1) 定义位置的区别
成员变量,定义在类中,方法外
局部变量,定义在方法内,语句内
(2)作用域不同
成员变量,作用范围是整个类
局部变量,作用范围是方法内,语句内
(3)默认值不同
成员变量,有自己的默认值
局部变量,没有默认值,不赋值不能使用
(4)内存位置不同
成员变量,随对象进入堆内存存储
局部变量,随自己的方法进入栈内存
(5)生命周期不同
成员变量,跟随对象,在堆中储存,内存等待JVM清除,周期相对较长
局部变量,跟随方法,方法出栈,生命相对较短
2. 成员变量与局部变量同名:
在方法中访问成员变量使用this. 不然根据就近原则方法会使用它的局部变量。