记录一个知识点小细节:
内部类:通过指向一个外部类的引用,做到自由访问外部环境类的所有字段,变相把环境中的自由变量封装到函数中,形成一个闭包。(其实java中到处都是闭包,只是不被我们感知而已...)
对于匿名内部类,java编译器只是值传递,并未实现引用传递。而只有引用传递才能保持内部类与外部环境的局部变量保持同步。(不同的堆栈)
目的: Java设计者想要匿名函数或者Lambda函数内部外部数据保持一致性
Java 内部类调用局部变量为什么要加final关键字
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...