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

© aiq黑马程序员 中级黑马   /  2014-8-2 16:30  /  1034 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

final string name;  意思是把name默认为一个常量了 还是说从现在开始。name只能被赋值一次?并且说这是修饰的成员变量   如果在局部变量用final 是不是没有什么意义?

4 个回复

倒序浏览
还是没人
回复 使用道具 举报
加上final就是把变量变成了一个常量,如果有值的话那意思就是终身就是这个值了 不可以被改变了。
回复 使用道具 举报
在局部变量里也是有意义的,只是生命周期不一样。
你想的可能是定义在成员变量位置上,会被下面用到好多次,而在方法中是局部变量,只是在此方法中用,别的地方用不到,所以没用是吧
虽然在类的生命周期中,局部变量生命周期短,但是类可以实例化好多对象啊,调用这个方法时,局部变量也可以被多次调用,只是这个值是固定的,不随对象的改变而改变。
final 修饰类  表示此类不能被继承
final 修饰方法 表示此方法不能被复写
final  修饰变量 包括 成员变量,静态变量,和局部变量(参数也可被修饰)
回复 使用道具 举报
本帖最后由 Darkhorse′Xa 于 2014-8-5 17:10 编辑

楼上说的对,跟你定义局部变量或者成员变量生命周期,作用域概念是一样的
final修饰了的变量(常量),也就是说在程序运行的过程当中你不能去改变这个常量的值.如:对这个常量进行赋值操作,是不允许的!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马