函数式接口(Functional Interface)就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。
函数式接口可以被隐式转换为 lambda 表达式。
昨天突然在看java8源码时候,发现
Comparator接口有两个抽象方法,一个是compare,另一个是equals方法;这与函数式接口定义有冲突,因为在调用用lambda表达式调用Comparator接口中都是实现了compare方法,并没有实现equals,而equals是Object中的方法,所用的类都继承Object类,所以equals继承了Object中是实现,所以函数式接口(Functional Interface)就是一个有且仅有一个(除和Object中方法有相同签名的外)抽象方法,但是可以有多个非抽象方法的接口。
来源:https://www.cnblogs.com/alex-xyl/p/12447402.html