成员变量和局部变量
根据定义变量位置的不同,可以将变量分为成员变量和局部变量
1.成员变量是在 类 范围内定义的变量
(成员变量无需显式初始化,系统会自动对其进行默认初始化 相当于int i;)
成员变量:把类内、方法体外定义的变量称为成员变量。
成员变量分为两种:
一是没有static修饰的,这些成员变量是对象中的成员,称为实例变量。
二是有static修饰的,称为类变量(静态变量)。
存放位置:
类变量随着类的加载而存在于方法区中。
实例变量随着对象的建立而存在于堆内存中。
生命周期:
类变量生命周期最长,随着类的消失而消失。
实例变量生命周期随着对象的消失而消失。
2.局部变量是在一个 方法 内定义的变量
局部变量,由声明在某方法,或某代码段里(比如for循环)。
执行到它的时候直接在栈中开辟内存并使用的。当局部变量脱离作用域,存放该作用域的栈指针,栈顶与栈底重合即为释放内
存,速度是非常快的。