Java8 Lambdas与匿名类

Java8 Lambdas与匿名类,第1张

Java8 Lambdas与匿名类

匿名内部类(AIC)可用于创建抽象类或具体类的子类。AIC还可以提供接口的具体实现,包括添加状态(字段)。可以在AIC this的方法主体中使用AIC的实例,因此可以在其上调用其他方法,其状态可以随时间变化,等等。这些都不适用于lambda。

我猜想AIC的大多数用途是提供单个功能的无状态实现,因此可以用lambda表达式代替,但是AIC的其他用途不能使用lambda。AIC在这里停留。

更新

AIC和lambda表达式之间的另一个区别是AIC引入了新的范围。也就是说,名称是通过AIC的超类和接口解析的,并且可以遮盖出现在词法包围环境中的名称。对于lambda,所有名称都按词法解析。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4935530.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存