Java成员变量与局部变量的区别

局部变量与成员变量的区别

代码位置不同

  • 成员变量:类中方法外定义的变量
  • 局部变量:方法/代码块中定义的变量

代码的作用范围不同

  • 成员变量:当前类中的很多方法
  • 局部变量:当前方法或当前代码块中

是否有默认值

  • 成员变量:有默认值,且不同的数据类型有不同的默认值,参照基础与引用数据类型的默认值
  • 局部变量:没有默认值

是否需要初始化

  • 成员变量:不需要也不建议初始化,在后续使用的时候再进行赋值
  • 局部变量:必须进行初始化,不然会报错

内存中位置不同

  • 成员变量:变量存在堆内存中
  • 局部变量:变量存在栈内存中

作用时间不同

  • 成员变量:当前对象从创建到销毁,成员变量都是可用的
  • 局部变量:当前方法或代码块开始执行到执行完毕,局部变量可用,当方法或代码块执行完后,局部变量从内存中删除
posted @ 2020-12-01 23:55  殃奕  阅读(99)  评论(0)    收藏  举报