黑马程序员技术交流社区

标题: 局部内部类 [打印本页]

作者: lhwinner    时间: 2015-5-24 15:13
标题: 局部内部类
局部内部类为什么访问类中方法的变量时,此变量要用final修饰,fianl修饰的变量会存储在常量池中,和这个有关系吗?请大神帮我讲解一下这个调用在内存中的过程.
作者: 黯然残影    时间: 2015-5-24 16:04
延长局部变量的生命周期啊,局部类创建对象存储在堆中,局部变量存储在栈中,函数结束就消失了
作者: tanzhixue    时间: 2015-5-24 16:51
不加final 局部变量会随着调用结束而消失的 如果局部内部类中还要使用着这个变量那么这个变量必须要存在所以加final就是延迟这个变量的生命周期
作者: L番茄X    时间: 2015-5-24 22:31
因为局部内部类,在运行一次之后,它的值会消失,如果代码还没有执行完毕的情况下,那就局部内部类就没有值了,所以就要加final变成常量
作者: 白水丶    时间: 2015-5-24 23:04
学习了~~~
作者: zhouzhiming88    时间: 2015-5-25 01:08
局部变量的内存是放在栈里面,而局部内部类的方法放在方法区,它不会随着局部变量的消失而消失。为了随时都能调用方法,所以局部变量用final修饰。因为final修饰的是常量,运行的时候它的内存会存放在方法区中。




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