为什么每个Java的类字段缺省要设为final

10-06-27 banq
Why every Java field should have been final by default. « Javarizon

文中提及可防止一些字段未进行初始化赋值,这对目前使用依赖注入编写代码非常重要,防止一些字段对象由于粗心忘记写注入代码。

    

amao
2010-06-27 10:59
尽量使用final是一个好习惯

mercyblitz
2010-06-27 18:50
final很多语义,那么注定了它的优点和不足。

优点:

1.大多数POJO的使用场景中,将其作为一个VO或者TO,那么不希望对象状态总是变化。

2.JMM确保了final字段的线程安全。

3.帮助Java Compiler inline。

缺点:

1.final化的不足,JVM并不能final 数组内部的成员对象。

2.final的实例字段,仍然可以被修改(JDK 5之后,可以通过反射修改)。

尽量的使用final是好的习惯~

猜你喜欢