Java 函数接口(Funtional Interface)

在Java中,函数不能独立于对象存在,函数接口可解决将函数作为参数传递的问题。函数接口只能含一个未实现函数,可有默认和静态函数。通常无需自定义,Java已在java.util.function包中提供相关接口,还有子接口,可参考API文档。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

– Start

点击此处观看本系列配套视频。


在 Java 中,一切都是对象,函数不能独立于对象存在,如何把一个函数作为参数传递给另一个函数呢?一个简单的想法是,如果一个对象只包含一个函数,我们不就可以认为该对象是一个函数吗?这就是所谓的函数接口(Functional Interface)的概念。值得注意点是函数接口只能包含一个为实现的函数,但是它可以有默认和静态函数,下面是一个简单的例子。

package shangbo.functional.demo3;

public interface MyFunctionalInterface {
	public void run();

	public default void defaultMethod() {
		System.out.println("defaultMethod");
	}

	public static void staticMethod() {
		System.out.print("staticMethod");
	}
}

事实上,通常我们不需要自己定义函数接口,Java 已经提供了一些函数接口共我们使用,它们都在 java.util.function 包中。

Function        接收一个参数,返回一个值
Predicate       接收一个参数,返回一个布尔值
Supplier        返回一个值
Consumer        接收一个参数
UnaryOperator   接收一个参数,返回一个同类型的值
BinaryOperator  接收两个参数,返回一个同类型的值

这些接口还有一些子接口,具体参见 API 文档。

– 更多参见:Java 函数式编程精萃
– 声 明:转载请注明出处
– Last Updated on 2019-05-29
– Written by ShangBo on 2019-05-29
– End

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值