文中提及可防止一些字段未进行初始化赋值,这对目前使用依赖注入编写代码非常重要,防止一些字段对象由于粗心忘记写注入代码。
优点:
1.大多数POJO的使用场景中,将其作为一个VO或者TO,那么不希望对象状态总是变化。
2.JMM确保了final字段的线程安全。
3.帮助Java Compiler inline。
缺点:
1.final化的不足,JVM并不能final 数组内部的成员对象。
2.final的实例字段,仍然可以被修改(JDK 5之后,可以通过反射修改)。
尽量的使用final是好的习惯~
猜你喜欢
本站原创《复杂软件设计之道:领域驱动设计全面解析与实战》