美文网首页
Java 内部类调用局部变量为什么要加final关键字

Java 内部类调用局部变量为什么要加final关键字

作者: 哎呀啊噢 | 来源:发表于2018-11-02 16:33 被阅读10次

    记录一个知识点小细节:
    内部类:通过指向一个外部类的引用,做到自由访问外部环境类的所有字段,变相把环境中的自由变量封装到函数中,形成一个闭包。(其实java中到处都是闭包,只是不被我们感知而已...)
    对于匿名内部类,java编译器只是值传递,并未实现引用传递。而只有引用传递才能保持内部类与外部环境的局部变量保持同步。(不同的堆栈)
    目的: Java设计者想要匿名函数或者Lambda函数内部外部数据保持一致性

    相关文章

      网友评论

          本文标题:Java 内部类调用局部变量为什么要加final关键字

          本文链接:https://www.haomeiwen.com/subject/mmscxqtx.html