内部类引用外部类的局部变量为什么必须是final


内部类引用外部类局部变量,必须保证外部类的局部变量为final的,因为内部类和外部类的局部变量生命周期不一样,外部类方法执行完该局部变量可能就没了,但该方法中的内部类可能还在执行(如线程),还要使用该变量,所以外部类变量设置为final的,变成常亮,使用的时候内部类可以复制一个副本过去,相当于就不使用该局部变量了。


猜你喜欢

转载自blog.csdn.net/jinhaijing/article/details/83547139
今日推荐