(方法)局部变量和成员变量
- 定义位置不同
- 局部变量
- 定义在方法内部
- 成员变量
- 直接定义在类当中,在方法外面的
- 局部变量
- 内存中的位置不同
- 局部变量
- 在栈stack内存中
- 成员变量
- 在堆heap内存中
- 局部变量
- 生命周期不同
- 局部变量
- 随着方法的进栈而出现,随着方法的出栈而消失
- 成员变量
- 随着对象被创建而出现,随着对象被jvm回收而消失
- 局部变量
- 默认值不同
- 局部变量
- 没有默认值,必须赋值之后才能使用
- 成员变量
- 如果没有赋值,那么将会有一个默认值
- 局部变量
- 重名
- 局部变量和成员变量重名时,根据就近原则选用局部变量
- 若要用成员变量,则this.成员变量名可用
- this代表的是当前对象
- 通过谁调用的方法,谁就是this