感觉以函数接口作为接口参数, 接收 Lambda 表达式的方式, 有点像是对于多态的补充.比如我用接口作为方法参数时, 可以传递这个接口的各种引用, 在方法内部大多数情况并不关心其真实类型. 这是多态.---------------------------------------而用 Lambda 表达式传递给接口方法的函数接口参数时, 方法内部甚至只需要约束其参数个数. 例如:wxSpAllocationService.allocationReturn(allocationReturnRequest, this::allocationReturned, this::allocationReturnFailed);wxSpAllocationService.allocationReturn(allocationReturnRequest, this::allocationReturned, this::allocationReturnFailed);对于以上这两次调用, 在 allocationReturn 方法内部逻辑里:ApiResult<AllocationReturnResponse> allocationReturn(AllocationReturnRequest dto, Consumer<AllocationReturnRequest> callback, BiConsumer<AllocationReturnRequest, String> failedCallback) { ... if (apiResult.isSuccess()) { callback.accept(dto); } else { failedCallback.accept(dto, apiResult.getDetail()); } return apiResult;}相比于利用多态的接口设计来说, 函数接口的接口设计, 参数层面只要参数个数匹配, 就可以传递.