//面向对象中局部变量和成员变量的辨析
===============================
局部变量和成员变量的区别:
局部变量定义在一个代码块内,通常是一个方法代码块内;
this 区分局部变量与成员变量;
成员变量不能重名,局部变量不能重名,但是成员变量和局部变量可以重名,需要使用
this区分;
使用变量this 访问的为成员变量,直接访问的为局部,没有局部变量会自动查找是否
有成员变量;
成员变量:
1.定义位置:类中,整个类中均可以访问;
2.内存:成员变量随着对象的建立而建立,存在于对象所在的堆内存中。
3.默认值:成员变量有默认值。
4.回收:随着对象的回收而回收。
局部变量
1.定义位置:定义在局部范围,如函数内,语句内等;
2.内存:局部变量存在于栈内存中。
3.默认值:局部变量没有默认值。
4.回收:随着作用域结束而回收,通常为语句或函数范围。
变量的访问原则:就近原则。
注意:成员变量的访问不再使用从前的方式,而使用调用属性对应的get/set 方法方式;
即类的使用不再包含直接使用对象访问属性,均是在调用方法。 |
|