如何将lambdas用于具有多种方法的接口?

sth*_*119 10 java oop lambda java-8

如果目标类有多个接口方法,有没有办法使用lambdas?或者你只需​​要在这种情况下使用匿名内部类?

VH-*_*NZZ 25

不,没有.如果我正确地理解了你的问题,你会想要将lambdas用于具有多个抽象方法的接口.在这种情况下,答案是否定的:

功能接口是仅包含一个抽象方法的任何接口.(功能接口可能包含一个或多个默认方法或静态方法.)由于功能接口只包含一个抽象方法,因此在实现该方法时可以省略该方法的名称.要做到这一点,不要使用匿名类表达式,而是使用lambda表达式 [...]

在那里阅读:http://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html

  • 除了引用...可以有**多个**抽象方法,如果这些方法与Object实现的方法相匹配,只留下一个未实现的抽象方法.发现这个案子有点令人惊讶. (2认同)