Anonymous inner class final
When an anonymous inner class is returned in a method, it is a closure, and the formal parameter of the method must be final. Personally, I think:
1. First of all, the formal parameter disappears after the method returns, and there will be problems with using it in the class, so jvm defines parameters inside the class, and then assigns values with formal parameters, and then the operation uses this internally defined parameter. If you do not use final to restrict the formal parameters, if the formal parameters are variable, it will cause the internal and external parameters of the class to be inconsistent, so simply final.