从0学开发笔记-成员变量和局部变量的区别
- 定义位置不一样
- 局部变量: 在方法的内部
- 成员变量:在方法的外部,直接写在类当中
- 作用范围不一样
- 局部变量: 只有方法中才可以使用,出了方法就不能再用
- 成员变量: 整个类全都可以通用
- 默认值不一样
- 局部变量: 没有默认值,如果想要使用,必须手动进行赋值
- 成员变量: 如果没有赋值,会有默认值,规则和数组一样
- 内存位置不一样
- 局部变量: 位于栈内存中
- 成员变量: 位于堆内存中
- 生命周期不一样
- 局部变量: 随着方法进栈而诞生,随着方法出栈而消失
- 成员变量:随着对象创建而诞生,随着对象被垃圾回收而消失
注意事项:
- 在一个类中,如果成员变量和方法中的局部变量相同,那么将会根据就近原则,优先使用就近的局部变量
- 如果我们想要在方法加以区别,我们可以使用this.成员变量来调用成员变量(通过谁调用的this,谁就是this)