Java中成员变量、局部变量、全局变量、静态变量存在位置及初始化

成员变量

  • 定义在一个类的变量:类中方法外
  • 静态属性:随类的存在而存在,是在类加载的初始化
  • 非静态属性:随实例的属性存在而存在。
  • 成员变量可以不显式初始化,它们可以由系统设定默认值。
  • 成员变量存在于堆内存。

局部变量

  • 局部变量不能加static,包括protected, private, public这些也不能加。
  • 局部变量保存在栈中。
  • 局部编程必须在声明时初始化。局部变量没有默认值,所以必须设定初始赋值。
  • 局部变量存在于栈内存。

静态变量

  • 类中方法外,用static修饰。
  • 生命周期:JVM第一次读到这个类并加载类时开始,类销毁不存在。
  • 静态变量存在于方法区即静态区(方法区包含整个程序中唯一存在的元素)。
  • 静态变量也是会被回收的。

全局变量(在java中可以理解为用static final修饰)

  • 在java中全局变量也称成员变量,是创建对象的时候分配内存的。全局常量存于全局数据区。

你可能感兴趣的:(Java中成员变量、局部变量、全局变量、静态变量存在位置及初始化)