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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 华子 中级黑马   /  2014-6-16 23:48  /  1146 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

局部变量和成员变量有什么区别啊?

3 个回复

倒序浏览
本帖最后由 客剑 于 2014-6-18 21:43 编辑

局部变量存在栈内存中,所占内存在函数用完后就会被java自动释放,所以只在本函数或者语句内有效;
成员变量存在堆内存中,被对象用来表示属性而存在,一般作用于整个类中
回复 使用道具 举报
成员变量:在类范围内的属性就是成员变量。在类这个范围内(不包含方法和其他成员)带有static修饰的属性就是类的属性,不带static修饰的属性就是对象(实例)属性。类属性与类共存亡,对象属性与对象共存亡,当类销毁时类属性才会消失,当对象消失时,对象属性才消失。
局部变量:方法中的形式参数、在方法中的变量、代码块局部变量都是局部变量。局部变量是在执行方法时生效,当方法执行结束时,这个方法中的局部变量消失。代码块局部变量执行完代码块后这个局部变量消失。

成员变量在声明时不需要显示的初始化成员变量,但是局部变量在声明的时候就要给它初始化赋值。
回复 使用道具 举报
  最简单的理解就是:
  成员变量在整个类中都可以访问
局部变量只能在当前方法中访问
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马