在java编程语言中,类是经常被使用的,而有了类的定义,对象也是必不可少的。但是类中的成员变量和局部变量有着很多区别。
A:初始化值不同
对象成员变量:有默认的初始化值。
局部变量:无默认的初始化值,必须赋值
如图:
如果不对基本数据类型的数据进行变量初始化,则会有报错。
B:在类中的位置不同
成员变量:在类中,方法外
局部变量:在方法中,或者在方法声明上
C:在内存中的位置不同
成员变量:在堆内存中(从属于对象,对象存放在堆内存中,它也就在堆内存中)
局部变量:在堆内存中(属于方法,而方法入栈)
D:生命周期不同
成员变量:随着对象的创建而存在,随着对象的消亡而消亡。
局部变量:随着方法的调用而存在,随着方法的调用完毕而消亡。
注:成员变量的记忆可以借助引用数据类型(数组)