Lambda表达式和匿名内部类区别

|▌冷眼眸甩不掉的悲伤 提交于 2020-01-13 00:31:43

所需类型不同

  • 匿名内部类: 可以是接口,也可以是抽象类,还可以是具体类
  • Lambda表达式:只能是接口

使用限制不同

  • 如果接口中有且仅有一个抽象方法,可以使用Lambda表达式,也可以使用匿名内部类
  • 如果接口中多于一个抽象方法,只能使用匿名内部类,而不能使用Lambda表达式

实现方式不同

  • 匿名内部类:编译之后,产生一个单独的。class字节码文件
  • Lambda表达式:变异之后,没有一个单独的。class字节码文件。对应的字节码会在运行的时候动态生成
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!