Java功能接口只包含一个抽象方法的接口称为功能接口。它可以有任意数量的默认静态方法,但只能包含一个抽象方法。它还可以声明对象类的方法。 功能接口也被称为单抽象方法接口或SAM接口。它是Java中的一个新特性,有助于实现函数式编程方法。
示例1
现在测试一下输出:
函数式接口可以有对象类的方法。参见下面的示例。 示例2
现在测试一下输出:
无效的功能接口一个功能接口只有在没有任何抽象方法的情况下才能扩展另一个接口。
输出:
示例3在下面的示例中,将功能接口扩展到非功能接口。
现在测试一下输出:
Java预定义功能接口Java提供了预定义的函数接口,通过使用lambda和方法引用来处理函数式编程。 您还可以定义自己的自定义功能接口。下面是放置在java.util.function包中的函数接口列表。
接口 |
描述 |
BiConsumer < T U > |
它表示一个接受两个输入参数且不返回结果的操作。 |
消费者< T > |
它表示接受单个参数且不返回结果的操作。 |
< T的函数,R > |
它表示一个接受一个参数并返回结果的函数。 |
谓语< T > |
它表示一个参数的谓词(布尔值函数)。 |
BiFunction < T, U R > |
它表示一个接受两个参数并返回结果的函数。 |
BinaryOperator < T > |
它表示对相同数据类型的两个操作数的操作。它返回与操作数相同类型的结果。 |
BiPredicate < T U > |
它表示有两个参数的谓词(布尔值函数)。 |
BooleanSupplier |
它表示布尔值结果的提供者。 |
DoubleBinaryOperator |
它表示对两个双精度类型操作数的操作,并返回双精度类型值。 |
DoubleConsumer |
它表示一个接受单个双类型参数且不返回结果的操作。 |
DoubleFunction < R > |
它表示一个接受双类型参数并产生结果的函数。 |
DoublePredicate |
它表示一个双类型参数的谓词(布尔值函数)。 |
DoubleSupplier |
它表示双类型结果的提供者。 |
DoubleToIntFunction |
它表示一个接受双类型参数并产生int类型结果的函数。 |
DoubleToLongFunction |
它表示一个接受双类型参数并产生长类型结果的函数。 |
DoubleUnaryOperator |
它表示在单个双类型操作数上产生双类型结果的操作。 |
IntBinaryOperator |
它表示对两个int型操作数的操作,并返回int型结果。 |
IntConsumer |
它表示接受单个整数参数且不返回结果的操作。 |
IntFunction < R > |
它表示一个接受整数参数并返回结果的函数。 |
IntPredicate |
它表示一个整数参数的谓词(布尔值函数)。 |
IntSupplier |
它表示整数类型的供应商。 |
IntToDoubleFunction |
它表示一个接受整型参数并返回双精度类型的函数。 |
IntToLongFunction |
它表示一个接受整型参数并返回long型参数的函数。 |
IntUnaryOperator |
它表示在单个整数操作数上产生整数结果的操作。 |
LongBinaryOperator |
它表示对两个long类型操作数的操作,并返回一个long类型结果。 |
LongConsumer |
它表示接受单个long类型参数且不返回结果的操作。 |
LongFunction < R > |
它表示一个接受长类型参数并返回结果的函数。 |
LongPredicate |
它表示一个长类型参数的谓词(布尔值函数)。 |
LongSupplier |
它表示长类型结果的提供者。 |
LongToDoubleFunction |
它表示一个接受长类型参数并返回double类型结果的函数。 |
LongToIntFunction |
它表示一个接受长类型参数并返回整数结果的函数。 |
LongUnaryOperator |
它表示对单个长类型操作数的操作,该操作数返回长类型结果。 |
ObjDoubleConsumer < T > |
它表示一个接受对象和双参数的操作,并且不返回结果。 |
ObjIntConsumer < T > |
它表示接受一个对象和一个整数参数的操作。它不返回结果。 |
ObjLongConsumer < T > |
它表示接受一个对象和一个长参数的操作,它不返回结果。 |
供应商< T > |
它代表了结果的提供者。 |
ToDoubleBiFunction < T U > |
它表示一个接受两个参数并产生双类型结果的函数。 |
ToDoubleFunction < T > |
它表示一个返回双类型结果的函数。 |
ToIntBiFunction < T U > |
它表示一个接受两个参数并返回一个整数的函数。 |
ToIntFunction < T > |
它表示一个返回整数的函数。 |
ToLongBiFunction < T U > |
它表示一个接受两个参数并返回long类型结果的函数。 |
ToLongFunction < T > |
它表示一个返回long类型结果的函数。 |
UnaryOperator < T > |
它表示对单个操作数的操作,该操作数返回与其操作数相同类型的结果。 |
|