在创建类的时候往往会创建局部变量和成员变量,本文总结了局部变量和成员变量的区别,方便加以区分。

  1. 位置不同

    • 成员变量:在类中方法外定义
    • 局部变量:在方法中或代码块中定义
  2. 作用范围

    • 成员变量:当前类
    • 局部变量:当前方法或当前代码块
  3. 默认值

    • 成员变量:有默认值
    • 局部变量:无默认值

    默认的初始化值参照下表:

    数据类型 默认值
    boolean false
    char 'u0000'
    byte (byte)0
    short (short)0
    int 0
    long 0L
    float 0.0f
    double 0.0d
    引用数据类型 null
  4. 初始化

    • 成员变量:不需要且不建议初始化,后续使用的时候再赋值即可
    • 局部变量:一定要初始还,不然直接使用的时候会报错
  5. 内存中位置

    • 成员变量:在堆中存储
    • 局部变量:在栈中存储
  6. 生命周期

    • 成员变量:从当前对象创建到销毁
    • 局部变量:从当前方法开始执行到执行完毕