A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

关于成员变量和局部变量的区别,底层每一点区别都是导致后边他们之间性质和使用不同的原因,一步接一步,这样理解和记忆起来就不会那么吃力了。

首先,最容易接受的是他们在类中的位置不同,成员变量位于类中方法外,而局部变量位于方法定义中或者方法声明上;这一点就导致了他们在内存中的位置不同,成员变量(排除被静态修饰的)随着对象的创建而存在所以位于堆内存,而局部变量随着方法的调用而调用,而方法的调用要进栈,所以位于栈内存。从上边就可以得到他们的初始化值和生命周期的不同,成员变量随着对象的创建而创建,随着对象的消失而消失,有默认初始化值;而局部变量随着方法的进栈而调用,随着方法的弹栈而消失,没有默认初始化值,需要先初始化再使用。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马