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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

请问一下静态变量和成员变量到底有哪些区别,最好是举一下例子。

4 个回复

倒序浏览
静态变量从属于类,类在它就在.通过这个类的名字,就可以用这个变量.
成员变量从属于对象,只有new了对象之后,才能通过对象访问这个变量.
回复 使用道具 举报
个人理解最大的区别应该是在于静态是随着类而存在,成员变量是随着对象而出现的,加载的时间不同
回复 使用道具 举报
静态变量  就是加了static 的变量  静态变量可以是静态成员变量,也可以是静态局部变量,静态变量存在于内存的方法区被类的所有成员共享,静态成员变量优先于成员变量而存在,是随着类的加载而加载,他加载进方法区的时候对象还没有创建尼,。静态变量存在方法区,而成员变量是随着对象的出现而出现,随着对象的消失而消失,成员变量存在于堆内存中,静态变量可以通过类名直接调用不用穿件对象,而成员非静态变量则需要创建对象用对象进行调用
回复 使用道具 举报
在类中的位置不同         * 成员变量:在类中方法外         * 局部变量:在方法定义中或者方法声明上 * B:在内存中的位置不同         * 成员变量:在堆内存(成员变量属于对象,对象进堆内存)         * 局部变量:在栈内存(局部变量属于方法,方法进栈内存) * C:生命周期不同         * 成员变量:随着对象的创建而存在,随着对象的消失而消失         * 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失 * D:初始化值不同         * 成员变量:有默认初始化值         * 局部变量:没有默认初始化值,必须定义,赋值,然后才能使用。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马