为什么每个Java的类字段缺省要设为final
Why every Java field should have been final by default. « Javarizon
文中提及可防止一些字段未进行初始化赋值,这对目前使用依赖注入编写代码非常重要,防止一些字段对象由于粗心忘记写注入代码。
Why every Java field should have been final by default. « Javarizon
文中提及可防止一些字段未进行初始化赋值,这对目前使用依赖注入编写代码非常重要,防止一些字段对象由于粗心忘记写注入代码。
尽量使用final是一个好习惯
final很多语义,那么注定了它的优点和不足。
优点:
1.大多数POJO的使用场景中,将其作为一个VO或者TO,那么不希望对象状态总是变化。
2.JMM确保了final字段的线程安全。
3.帮助Java Compiler inline。
缺点:
1.final化的不足,JVM并不能final 数组内部的成员对象。
2.final的实例字段,仍然可以被修改(JDK 5之后,可以通过反射修改)。
尽量的使用final是好的习惯~