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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© a767175432 中级黑马   /  2013-7-8 07:34  /  1542 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在一个方法中一个变量被final修饰了那么这个变量的生存周期时是什么啊,是不是方法一结束它就消失了呢

如果是这样局部内部类访问它的时候为什么还要加final啊?

3 个回复

倒序浏览
对于方法中的一个变量来说,它的存活范围只是在method(){}的两个大括号内,但是加上final,就相当于对这个变量进行了备份,这个备份存活时间就不局限在method(){}的两个大括号内。
回复 使用道具 举报
曹睿老师 发表于 2013-7-8 10:46
对于方法中的一个变量来说,它的存活范围只是在method(){}的两个大括号内,但是加上final,就相当于对这个 ...

嗯嗯  知道了 谢谢老师
回复 使用道具 举报
final关键字来修饰变量表明了该变量一旦赋值就无法更改。同时编译器必须保证该变量在使用前被初始化赋值。例如你的static final int c1这个变量,是一个静态变量,静态变量的初始化可以在静态块中进行。而非static变量,可以初始化块中和构造方法中进行。如果你在这几个地方没有对final变量进行赋值,编译器便会报错。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马