内部类调用的外部变量必须是final修饰的,或者说内部类无法改变外部变量的值。比如匿名内部类中使用外部类变量的时候要注意。 java1.8之后,在局部变量没有重新赋值的情况下,它默认局部变量为final型,认为你只是忘记加final声明了而已。如果你重新给局部变量改变了值或引用,那就无法默认为final了,就会报错.
为了解决:局部变量的生命周期与局部内部类的对象的生命周期的不一致性问题
内部类调用的外部变量必须是final修饰
于 2021-04-09 20:36:32 首次发布
内部类调用的外部变量必须是final修饰的,或者说内部类无法改变外部变量的值。比如匿名内部类中使用外部类变量的时候要注意。 java1.8之后,在局部变量没有重新赋值的情况下,它默认局部变量为final型,认为你只是忘记加final声明了而已。如果你重新给局部变量改变了值或引用,那就无法默认为final了,就会报错.
为了解决:局部变量的生命周期与局部内部类的对象的生命周期的不一致性问题