变量
-
内存中一块独立的存储区域,用来保存数据;
-
程序中变量由三个元素组成:变量类型、变量名、变量值;
变量的分类
-
局部变量:方法或语句块内部定义的变量
-
成员变量(实例变量):方法外部、类的内部定义的变量;
-
静态变量(类变量):类的内部、使用关键字static修饰的变量;
变量的区别:
-
局部变量:
- 程序中的位置:方法或语句块内部;
- 内存中的位置:栈;
- 作用域:从声明位置开始,直到方法或语句块结束;
- 生命周期:调用方法时存在栈中,方法调用结束时与栈帧一并消失;
- 从属于:方法/语句块;
- 初始值:无
-
成员变量:
- 程序中的位置:类内部,方法外部;
- 内存中的位置:堆;
- 作用域:类中;
- 生命周期:对象创建时存在堆中,对象被GC回收时消失;
- 从属于:对象;
- 初始值:有;
-
静态变量:
- 程序中的位置:类内部,方法外;
- 内存中的位置:方法区;
- 作用域:类中;
- 生命周期:类被加载时,静态变量就有效,类被卸载,静态变量消失;
- 从属于:类;
- 初始值:有;