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

所需类型不同:

  1. 匿名内部类:可以是抽象类,可以是接口,也可以是具体类
  2. Lambda表达式:只可以是接口

使用限制不同:

  1. 如果接口中有且仅有一个抽象方法,可以使用Lambda表达式,也可以使用匿名内部类
  2. 如果接口中的抽象方法不止一个,就只能使用匿名内部类,不能使用Lambda表达式

实现原理不同:

  1. 匿名内部类在编译之后会产生一个单独的.class字节码文件
  2. Lambda表达式在编译之后不会产生一个单独的.class字节码文件,对应的字节码会在运行的时候动态生成
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页