函数式接口
为什么要用函数式接口 在函数式编程思想下,允许函数本身作为参数传入另一个函数. 使用函数式接口实现"传递行为"的思想. Lambda表达式也需要函数式接口的支持 什么是函数式接口 总结: 函数式接口 只有一个抽象方法 函数式接口的标识@FunctionalInterface 解释 1.如果一个接口只有一个抽象方法 那么这个接口就是一个函数式接口 2.如果我们在某个接口上声明了@FunctionalInterface注解 那么编译器就会按照函数式接口的定义来要求该接口 不符合报错 3.如果某个接口只有一个抽象方法 但该接口并没有声明@FunctionalInterface注解 编译器仍然会将该接口看作函数式接口 4.如果是函数式接口 该接口也重写了Object类的公共的抽象方法 该重写方法不会增加该接口的抽象方法个数 该接口仍然是函数式接口 不会报错 因为Object类是所有的类的父类 该函数式接口如果有实现类 会直接实现Object类的这个抽象方法 不会实现该函数接口中重写了Object类的抽象方法 也就是说该函数式接口 不会把重写了Object类的公共的抽象方法 看作是抽象方法 该函数式接口的抽象方法仍然是一个 所以符合函数式接口的定义 怎么使用函数式接口 自定义一个函数式接口 a.正确的 b. 错误的 不符合只有一个抽象方法 c. 正确的 可以有Object公共的抽象方法