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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

成员变量在本类中都有效(主方法除外),局部变量只在方法里的{}范围内有效.
成员变量存在于堆内存的对象中,所以其用完后不会马上消息,java垃圾回收机制回收.而局部变量存在于栈内存中,用完马上消失.
另外由于成员变量存在于堆内存中,所以就算其没有初始化,也会随对象建立自动初始化为该类型的默认值.

12 个回复

倒序浏览
成员变量在主方法中无效?你解释一下
回复 使用道具 举报
任振铭 发表于 2015-9-19 21:40
成员变量在主方法中无效?你解释一下

对啊,只是作用在大括号内.
回复 使用道具 举报
乔友为 发表于 2015-9-19 21:42
对啊,只是作用在大括号内.

照你这样说,好像主函数就无法访问成员变量了,但是主函数是可以访问的
回复 使用道具 举报
很赞啊,顶顶
回复 使用道具 举报
任振铭 发表于 2015-9-19 21:43
照你这样说,好像主函数就无法访问成员变量了,但是主函数是可以访问的

主函数并不能直接访问到成员变量,即使成员变量的默认的权限default,必须通过建立对象,由对象去访问成员变量;如果成员变量的权限是私有的private,就更不能直接访问了。
回复 使用道具 举报
安仔 发表于 2015-9-19 21:58
主函数并不能直接访问到成员变量,即使成员变量的默认的权限default,必须通过建立对象,由对象去访问成 ...

成员变量是定义在类中的,所以它的作用域是整个类,而主函数也是包含在类中的,所以,成员变量的作用域也包括主函数,与是否可以直接调用无关,这样说可对?
回复 使用道具 举报
安仔 中级黑马 2015-9-19 22:33:20
8#
任振铭 发表于 2015-9-19 22:16
成员变量是定义在类中的,所以它的作用域是整个类,而主函数也是包含在类中的,所以,成员变量的作用域也包括 ...

主函数所在的类中和成员变量所在的类是一个类吗?首先主函数不是必须有的,可以说大括号基本上就定义了一个变量的生命周期,建议写个代码好好分析下。
回复 使用道具 举报
不错不错
回复 使用道具 举报
不错不错 恍然大悟
回复 使用道具 举报
安仔 发表于 2015-9-19 22:33
主函数所在的类中和成员变量所在的类是一个类吗?首先主函数不是必须有的,可以说大括号基本上就定义了一 ...

多谢多谢,还需努力
回复 使用道具 举报
类的成员变量在永久区 一般不会回收
实例成员变量在堆区  垃圾回收处理
局部变量在栈区 随着方法的产生而产生,随着方法的消失而消失

回复 使用道具 举报
顶顶顶顶顶顶顶顶顶顶顶顶顶顶的顶顶顶顶顶的顶顶顶顶顶
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马