函数式接口

目录

1.概念

2.注解

3.作用

4.分类


1.概念

一个接口中可以存在默认方法和静态方法,但抽象方法只有一个,那么这个接口就是一个函数式接口。

2.注解

@FunctionalInterface

在接口上直接加上注解,如果这个接口是一个函数式接口则不报错,否则编译报错

3.作用

是Lambda表达式的使用前提。

函数接口的实例可以通过lambda表达式、方法引用或构造函数引用创建。

在jdk8之后,官方定义了一些常用的函数式接口,如果以后需要使用类似的接口,直接 使用即可,不需要再单独定义。

4.分类

Consumer :消费型接口

void accept(T t)

该接口中的方法可以接收一个参数,接收的参数类型由泛型指定,对参数的操作 方式根据该接口的实现类决定,不需要返回值。

Supplier :供给型接口

T get()

该接口也被称为生产型接口,如果指定了泛型是什么类型,那类中的get方法就会返回 一个该类型的一个具体数据。返回的数据,由该接口的实现类对象决定。

Function :函数型接口

R apply(T t)

该接口可以接收一个数据,数据的类型根据泛型指定,然后通过该接口的实现类对象对 该数据进行操作,操作之后返回一个新的数据。

Predicate :断言型接口

boolean test(T t);

该接口是一个判断接口,接口可以接收一个指定泛型的参数,并根据该接口的实现类 对象对该参数做出对应的判断,返回只为boolean类型。

常用的关于线程的Callable、Runnable等在JDK8中都添加了@FunctionalInterface注解。

你可能感兴趣的:(java常用,JAVA8,java,开发语言)