黑马程序员技术交流社区

标题: 静态变量和成员变量的区别是什么? [打印本页]

作者: robintian    时间: 2016-7-5 21:48
标题: 静态变量和成员变量的区别是什么?
请问一下静态变量和成员变量到底有哪些区别,最好是举一下例子。
作者: yaozhilin    时间: 2016-7-5 22:16
静态变量从属于类,类在它就在.通过这个类的名字,就可以用这个变量.
成员变量从属于对象,只有new了对象之后,才能通过对象访问这个变量.
作者: warku    时间: 2016-7-5 22:24
个人理解最大的区别应该是在于静态是随着类而存在,成员变量是随着对象而出现的,加载的时间不同
作者: zhang894095    时间: 2016-7-5 22:42
静态变量  就是加了static 的变量  静态变量可以是静态成员变量,也可以是静态局部变量,静态变量存在于内存的方法区被类的所有成员共享,静态成员变量优先于成员变量而存在,是随着类的加载而加载,他加载进方法区的时候对象还没有创建尼,。静态变量存在方法区,而成员变量是随着对象的出现而出现,随着对象的消失而消失,成员变量存在于堆内存中,静态变量可以通过类名直接调用不用穿件对象,而成员非静态变量则需要创建对象用对象进行调用
作者: 柴磊磊    时间: 2016-7-5 22:45
在类中的位置不同         * 成员变量:在类中方法外         * 局部变量:在方法定义中或者方法声明上 * B:在内存中的位置不同         * 成员变量:在堆内存(成员变量属于对象,对象进堆内存)         * 局部变量:在栈内存(局部变量属于方法,方法进栈内存) * C:生命周期不同         * 成员变量:随着对象的创建而存在,随着对象的消失而消失         * 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失 * D:初始化值不同         * 成员变量:有默认初始化值         * 局部变量:没有默认初始化值,必须定义,赋值,然后才能使用。




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