匿名内部类和lamda区别
时间: 2024-05-22 09:17:05 浏览: 87
Java系列JDK 1.8 新特性之 Lambda表达式.pdf
匿名内部类是一种没有名称的类,它可以作为参数传递给一个方法或者实例化一个接口。它在定义的时候会直接实现接口或继承自父类,所以可以在其中重写接口或者父类的方法,然后实例化并返回对象,常常用于创建单次使用的类或简化代码。
Lambda 表达式是 Java 8 中引入的一种函数式编程的新特性。Lambda 表达式实质上是一个匿名函数,它本质上可以看做是一个代码块,使用起来可以简化代码,将行为像数据一样进行传递。Lambda 表达式的本质就是一个函数式接口的实现,可以将其作为参数传递给函数或方法,或者作为返回值进行返回。
所以,匿名内部类和Lambda 表达式的最大区别在于:匿名内部类实现的是某个接口或者父类,而 Lambda 表达式则是一个纯粹的函数,通过实现一个函数式接口来实现自己的功能。此外,Lambda 表达式省略了许多代码,使代码更加简洁,易读易写。
阅读全文