在第一次看到成员变量和局部变量的时候,会有一些蒙圈,但是其实理解起来很好理解,首先我们要先找到什么是成员变量。
在现实世界中描述一个事物,大概分为两种,属性和行为。
比如人:
属性:身高,体重,长相等等。
行为:打篮球,说相声,跑步,写字等等。
那么在类中去描述一个事物也是一样:
属性:在类中通过成员变量来体现。
行为:在类中通过成员方法来体现。
这样大概就能理解成员变量到底是干啥的,在对比成员变量和局部变量之前,需要知道成员变量和局部变量最大的特点,就是它们在类中的位置。
成员变量:成员变量最大的特点就是定义在类中方法外的变量。
局部变量:局部变量最大的特点就是定义在方法中的变量。
成员变量和局部变量的区别
区别 | 成员变量 | 局部变量 |
类中位置不同 | 类中方法外的变量 | 方法中的变量 |
内存中位置不同 | 堆内存 | 栈内存 |
生命周期不同 | 随着对象的存在而存在,随着对象的消失而消失 | 随着方法的调用而存在,随着方法的调用完毕而消失 |
初始化值不同 | 有默认的初始化值 | 没有默认值,必须先定义赋值,才可以使用 |