技术问 - 局部变量、成员变量的区别

局部变量:定义方法中或者方法声明上的变量
A:定义的位置不同
    成员变量:定义在类中
    局部变量:定义在方法内或者方法声明(参数)上
B:内存中的位置
    成员变量:堆内存
    局部变量:栈内存(方法在栈中执行,局部变量又定义在栈中)
C:声明周期不同
    成员变量:定义在类中,随着类对象的创建而存在,随着类对象的消失而消失
    局部变量:定义在方法中,随着方法的调用而存在,随着方法的执行完毕而消失
D:初始化值不同
    成员变量:在堆内存中,堆特点,给默认初始值
    局部变量:必须定义和赋值才可以
E:当成员变量名称和局部变量名称相同时,采取就近原则,在方法内部使用的是局部变量;

你可能感兴趣的:(技术问 - 局部变量、成员变量的区别)