Java中成员变量、局部变量、全局变量、静态变量存在位置及初始化
2020-09-05 本文已影响0人
有腹肌的豌豆Z
成员变量
- 定义在一个类的变量:类中方法外
- 静态属性:随类的存在而存在,是在类加载的初始化
- 非静态属性:随实例的属性存在而存在。
- 成员变量可以不显式初始化,它们可以由系统设定默认值。
- 成员变量存在于堆内存。
局部变量
- 局部变量不能加static,包括protected, private, public这些也不能加。
- 局部变量保存在栈中。
- 局部编程必须在声明时初始化。局部变量没有默认值,所以必须设定初始赋值。
- 局部变量存在于栈内存。
静态变量
- 类中方法外,用static修饰。
- 生命周期:JVM第一次读到这个类并加载类时开始,类销毁不存在。
- 静态变量存在于方法区即静态区(方法区包含整个程序中唯一存在的元素)。
- 静态变量也是会被回收的。
全局变量(在java中可以理解为用static final修饰)
- 在java中全局变量也称成员变量,是创建对象的时候分配内存的。全局常量存于全局数据区。