你要做个操作,比如a.get(InterfaceName b);,这是不是代表你要传一个实现了InterfaceName接口的子类对象进去作为参数(因为InterfaceName接口无法直接实例化)?
最low的办法是你写一个类实现了InterfaceName接口,然后你创建了一个该类对象b传进去当了参数。
但是这样是不是很麻烦,于是java官方推出了匿名类,你可以直接通过匿名类的方式传参,是这么写a.get(new InterfaceName(){其中实现InterfaceName中的抽象方法})。
可是这样写也挺麻烦的,所以“new InterfaceName(){其中实现InterfaceName中的抽象方法}”这一部分被进一步简化为了lambda表达式。至于lambda表达式是如何由匿名类对象简化过来的,教程中写的很清楚了。
Java Lambda
最新推荐文章于 2023-06-06 09:49:10 发布