[java8新特性]函数式接口

函数式接口(FunctionalInterface)

1.如果一个接口中,只声明了一个抽象方法,则此接口就称为函数式接口

2.可以在一个接口上使用@FunctionalInterface注解,这样做可以检查它是否是一个函
数式接口,同时javadoc也会包含一条声明,说明这个接口是一个函数式接口

3.java.util.function包下定义了Java 8的丰富的函数式接口

常见的函数式接口:Runnable接口,用@FunctionalInterface标记

@FunctionalInterface
public interface Runnable {
    
    
    public abstract void run();
}

自定义函数式接口

@FunctionalInterface
interface MyInterface{
    
    
    void method1();
}

可以通过lambda表达式来创建函数式接口的对象

public class Demo {
    
    
    public static void main(String[] args) {
    
    
        MyInterface myInterface =  ()-> System.out.println("AA");
    }
}

@FunctionalInterface
interface MyInterface{
    
    
    void method1();
}

Java内置四大核心函数式接口
消费型接口 Consumer<T>    void accept(T t)
供给型接口 Supplier<T>    T get()
函数型接口 Function<T,R>    R apply(T t)
断定型接口 Predicate<T>    boolean test(T t)

Guess you like

Origin blog.csdn.net/a347635191/article/details/97272233