方法变量和成员变量

发布时间 2023-11-28 22:02:40作者: 加固文明幻景

(方法)局部变量和成员变量

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