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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

如上求解答

10 个回复

倒序浏览
因为局部变量的生命周期和方法有关,方法弹栈,变量就跟着现实,到此时堆内存的对象可能还存在,但是这时变量可能已经没有了
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
回复 使用道具 举报
JDK1.8版本会默认加上了
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
不加final的话运行完弹栈被释放掉了,下次再调用就会报错
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
生命周期和调用的问题
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
学习了!!!
回复 使用道具 举报
学习了,对这个问题也一直有相同的疑问
回复 使用道具 举报
方法运行完就会弹栈,而对象没有马上消失,有可能还要使用者个变量,加final修饰会将这个变量加载进常量池,延长了生命周期
回复 使用道具 举报
Jarc 发表于 2016-10-28 23:42
因为局部变量的生命周期和方法有关,方法弹栈,变量就跟着现实,到此时堆内存的对象可能还存在,但是这时变 ...

那要是引用的是成员变量呢?也要加final吗
回复 使用道具 举报
Jarc 高级黑马 2016-11-1 22:57:13
11#
zhou987932946 发表于 2016-10-31 00:21
那要是引用的是成员变量呢?也要加final吗

成员不用,因为内部类是在外部类的基础上创建的
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马