静态变量也被称为类变量
非静态变量也被称为实例变量

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

1.声明的位置

  • 局部变量:方法体{}中,形参,代码块{}中
  • 成员变量:类中方法外
    类变量:有static修饰
    实例变量:没有static修饰

2.修饰符

  • 局部变量:final
  • 成员变量:public\protect…

3.值存储位置不同

  • 局部变量:栈
  • 成员变量:
    实例变量:堆
    类变量:方法区

//4.作用域

  • 局部变量:从声明处开始,到所属的}结束

5.生命周期

  • 局部变量:每一个线程,每一次调用执行都是新的生命周期
  • 成员变量:
    实例变量:随对象的创建而初始化,随对象的被回收而消亡,每一个对象的实例变量是独立的
    类变量:随类的初始化而初始化,随类的卸载而消亡,该类的所有对象的类变量是共享的

6.初始值不同

  • 局部变量:没有初始值
  • 成员变量:有默认初始值

成员变量和局部变量的区别
也就是对象或变量实例放在堆中,对对象实例的引用放在栈中

相关文章: