java final定义的成员变量和局部变量在声明时是否必须要赋初值?

我在外部声明一个final变量时没有赋初值就报错, 在方法中就没问题 这是为什么
谢谢 各位的帮助 ☺

在java里面修饰词 final修饰过的变量的值是不可以被修改的。在外部声明的变量在这个类一杯调用就初始化了,如果你没有对final修饰过的变量赋值,编译器初始化这个类的时候发现一个不可被修改的变量没有值,编译器必然报错。但是在方法内如果没有调用这个方法,就不会初始化这个变量,编译器就不会报错,在方法里可以先声明后赋值。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-15
final你可以先定义不给赋值,但是必须保证在使用的时候赋过值,而且funal定义的定值在赋值后是无法进行改变的,相比之下他比变量好在运行速度比较快,而且可以防止其他集成类去修改他从而改变他的意义
第2个回答  2013-04-15
声明final的成员变量(即外部)时必须赋值。声明局部的final变量,可以先声明 后赋值,这种情况下,如果声明时不赋值就使用 会报错。
第3个回答  2013-04-15
作为类的属性时,它被定义为final时就必须有时,因为在实例化时会使用
第4个回答  2013-04-15
可以到 生命的水java,在java频道,修饰符下有不少。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网