成员变量和局部变量的区别
-
定义位置不同
成员变量:定义在类中,方法外
局部变量:定义在方法中,或者是方法的声明中 -
生存周期不同
成员变量:随着对象的创建而存在,对象消失而消失
局部变量:随着方法的调用而存在,方法调用完毕而消失 -
存储位置不同
成员变量:存储在堆中
局部变量:存储在栈中 -
初始化值不同
成员变量:有默认值
局部变量:无默认值
public class Demo01 {
int v_a;//成员变量定义在类中方法外,有默认值,存储在堆中,随着对象的创建而存在,对象消失而消失
public void fn(int v_b){//局部变量定义在方法的声明中
int v_c;//局部变量定义在方法中
//局部变量无默认值,存储在栈中,随着方法的调用而存在,方法调用完毕而消失
}
}