lambda 和 匿名内部类的区别 this

this关键字

  • 匿名类
    匿名类的this关键字指向匿名类
  • lambda表达式
    lambda表达式的this关键字指向包围lambda表达式的类

为什么

因为java编译器将lambda表达式编译成类的私有方法,而将匿名内部类编译成外部类&numble的新类

看一下下面两段代码的this并不一样

42A836063565A30FDC9D902B0FD0FDE4.jpg
E27823154F17A0E32767EC012DD99C81.jpg
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 注:之前关于Java8的认知一直停留在知道有哪些修改和新的API上,对Lambda的认识也是仅仅限于对匿名内部类的...
    mualex阅读 7,813评论 1 4
  • 参考ImportNew - lemeilleur 翻译自javarevisited 用例1、用lambda表达式实...
    mulinsentt阅读 3,561评论 0 1
  • 本文是在学习和使用kotlin时的一些总结与体会,一些代码示例来自于网络或Kotlin官方文档,持续更新... 对...
    竹尘居士阅读 8,585评论 0 8
  • 声明:本文翻译自The Java™ Tutorials(官方文档) 简述 匿名类有一个问题,如果匿名类的实现非常简...
    猴子小皮球阅读 10,177评论 0 9
  • 陆乔是个女的,有几个暗恋的人,也有几个告白的人,但是她从没有一个恋人。 因为告白都会失败,不过她总共告白过两次而已...
    Z准阅读 2,865评论 0 1