15.1对象的内存图
- 对象c在方法内并且随着方法进入栈中,所以是局部变量。
- 反之,color和count是成员变量
15.2类和对象的区别
- 类:是对某一类事物的抽象描述
- 对象:用于具体表示现实中该类事物的个体
15.3局部变量和成员变量的区别
- 定义位置的区别:
成员变量定义在类中方法外
局部变量在方法内,for循环中的变量是局部变量 - 作用区域的区别:
成员变量:整个类
局部变量:方法内or语句内 - 默认数值的区别:
成员变量:有默认值
局部变量:无默认值,不赋值不能使用 - 内存位置的区别:
成员变量:跟随对象进入堆内存
成员方法:跟随方法进入栈内存 - 生命周期不同
成员变量:在堆中存储,内存等待JVM清理
局部变量:跟随方法,生命周期较短