成员变量和局部变量的区别?

成员变量:直接定义在类中,方法外面。又称之为字段(Field)
局部变量:除了成员变量,其他都是局部变量,具体存在于三个地方
          - 方法内
          - 方法的形
          - 代码块中(一对花括号)

             


1. 初始值 
  - 成员变量:默认是有初始值的,不同类型的初始值,如下图
  - 局部变量:没有初始值,所以必须手动先初始化才能使用

成员变量和局部变量的区别?


2. 作用域
  - 成员变量:在所定义的类中都有效
  - 局部变量:从开始定义的位置开始,只能在自己所在的花括号内有效

成员变量和局部变量的区别?

3. 生命周期
  - 成员变量:**存储在堆内存中**,随着对象的销毁而销毁
  - 局部变量:**存储在栈内存中**,随着所定义方法的调用结束而销毁
  - 局部变量存储在方法中,每次调用方法都会在栈空间开辟一块内存空间——栈帧,方法调用结束,栈帧就被销毁了,内存中的存储的变量数据也销毁了

成员变量和局部变量的区别?

 

相关文章: