黑马程序员技术交流社区

标题: final 修饰的局部变量在内存中的位置? [打印本页]

作者: 刘宽    时间: 2016-5-13 22:29
标题: final 修饰的局部变量在内存中的位置?
局部变量本来在方法中,会随着方法的出栈而出栈,当前面有final修饰时,它的生命期就跟所在类一样长,那么它在内存中的什么位置?求解答
作者: 钱金磊    时间: 2016-5-13 22:31
在方法区的常量池中!
作者: 刘宽    时间: 2016-5-13 22:39
钱金磊 发表于 2016-5-13 22:31
在方法区的常量池中!

是不是被final修饰,意味着变成常量了?
作者: 刘宽    时间: 2016-5-13 22:41
钱金磊 发表于 2016-5-13 22:31
在方法区的常量池中!

是不是被final修饰,意味着变成常量了?
作者: 钱金磊    时间: 2016-5-13 22:43
刘宽 发表于 2016-5-13 22:41
是不是被final修饰,意味着变成常量了?

是的,final 字面意思就是最终的!你可以查看英语翻译!
作者: ybqred    时间: 2016-5-13 23:00
会存在常量池中
作者: ybqred    时间: 2016-5-13 23:02
刘宽 发表于 2016-5-13 22:39
是不是被final修饰,意味着变成常量了?

被final修饰的变量 变为常量 ,教材上的原话
作者: ybqred    时间: 2016-5-13 23:05
刘宽 发表于 2016-5-13 22:39
是不是被final修饰,意味着变成常量了?

被final修饰的变量 变为常量 ,教材上的原话
作者: climb    时间: 2016-5-14 00:40
对的,,一楼正解。。。。。。。。。。。。。。。
作者: cxl1694095035    时间: 2016-5-14 00:58
楼上说的都不错,受教了
作者: 刘宽    时间: 2016-5-17 23:18
钱金磊 发表于 2016-5-13 22:31
在方法区的常量池中!

谢谢,我知道了
作者: 徐方锐    时间: 2016-5-17 23:41
相当于是常量了,因为被final修饰的常量只能更改一次,也是最后一次
作者: mischen    时间: 2016-5-18 09:24
本来局部变量在内存中应该是存放在栈中的,但是被final修饰以后就变成一个长期存在的,所以就放在了堆中,栈只是临时存储的空间




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