Java笔记3.5--内部匿名类形参加final

jdk1.7以及之前,内部匿名类形参前都要加final。

jdk1.8不需要,隐性加上了。

jdk1.7以及之前:

内部匿名类形参前加final,否则报错。

内部类和外部类是平行的,没有隶属关系。

外部类有可能会优先于内部类回收,如果不加final,参数就会被回收,导致于内部类无法使用。

加final后,以常量方式存储在常量池,不是在堆中,所以外部类回收后该参数依然存在。

引出话题:

在回答final方法的用途时候可以说明。被问到内部类时候可以说明。

项目中在消息模块或者其他模块用到线程池分发消息,在定义线程池里任务类时,用到了内部匿名类,参数1.8不加final也默认按final。

猜你喜欢

转载自blog.csdn.net/lfanchenyu/article/details/107687489