成员变量和局部变量的区别?
A:定义位置区别
成员变量 在类中,方法外
局部变量 在方法中,或者方法的形式参数
B:初始化值的区别
成员变量 有默认初始化值
局部变量 没有默认初始化值,想先定义,赋值,才能使用
C:存储位置区别
成员变量 存储在堆中,随着对象的存在而存在,随着对象的消失而消失。
局部变量 存储在栈中,随着方法的调用而存在,随着方法调用完毕而消失。
在使用变量的时候:
首先在局部范围找,有就使用。
接着在成员方法找,有就使用。
如果在成员位置没有,就报错。
使用过程中,遵循一个原则:就近原则。 |
|