黑马程序员技术交流社区

标题: 关于如何记忆成员变量和局部变量的区别 [打印本页]

作者: JeffTang    时间: 2016-4-19 20:18
标题: 关于如何记忆成员变量和局部变量的区别
关于成员变量和局部变量的区别,底层每一点区别都是导致后边他们之间性质和使用不同的原因,一步接一步,这样理解和记忆起来就不会那么吃力了。

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




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2