黑马程序员技术交流社区

标题: final问题 [打印本页]

作者: 马清泽    时间: 2012-12-7 09:06
标题: final问题
final作用是不能被实例化不能被继承等,但是枚举中也大量用final关键字
fiinal更深层的作用什么?什么情况下使用更有效率更安全?
作者: 陈建华    时间: 2012-12-7 11:54
在我们定义了final关键字的变量,在程序运行时虚拟机会将这些变量放在一个特殊的地方——运行时常量池。这个地方的变量的值是不在加载类的时候被定了初始值的。所以一旦被定义,他们的值就不能被改变和继承。在枚举中使用final倒不是强调他的不可改变性,而是为了从提高性能上考虑的。即加载的时候就进行初始化,放进常量池中。
要说更深层次的作用那就是保证程序的正确性,保证不会出现悬挂引用和内存溢出。比如。在局部内部类中不能访问局部变量,除非局部变量是final类型的。就是为了不产生悬挂引用和内存溢出。




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