成员变量\局部变量\静态变量的区别

Java全局变量和局部变量初始化问题

成员变量和局部变量和静态变量的区别

成员变量局部变量静态变量
定义位置在类中,方法外在方法中,或者是方法的形式参数在类中,方法外
初始化值有默认值无,先定义,赋值后才可以使用有默认值
调用方式对象调用对象调用\类名调用
储存位置方法区
生命周期与对象共存亡与方法共存亡与类共存亡
别名实例变量类变量

成员变量和局部变量的初始化值

变量时需要遵循的原则为:就近原则 (局部范围找,有就使用;接着在成员位置找)

成员变量和静态变量

  • 基本类型
    • byte/short/int/long : 0
    • float/double : 0.0
    • char : ‘\u0000’(null)
  • 引用类型
    • 默认初始值null

局部变量

局部变量若只定义未使用编译不会报错,一旦使用且为赋值编译阶段不通过