Java8 函数式接口讲解
时间: 2023-10-09 21:11:22 浏览: 91
详解JAVA8 函数式接口
5星 · 资源好评率100%
Java 8 引入了函数式编程的概念,为此引入了函数式接口的概念。函数式接口是只包含一个抽象方法的接口,在 Java 8 中可以使用 Lambda 表达式或方法引用来实现该接口。
函数式接口的定义如下:
```java
@FunctionalInterface
public interface MyFunctionalInterface {
void myMethod();
}
```
上述代码中,`@FunctionalInterface` 注解表示该接口是函数式接口,该注解是可选的,但最好使用以确保接口符合函数式接口的定义。
函数式接口可以包含默认方法和静态方法,但只能有一个抽象方法。下面是一个使用函数式接口的例子:
```java
public class Main {
public static void main(String[] args) {
MyFunctionalInterface obj = () -> {
System.out.println("Hello, world!");
};
obj.myMethod();
}
}
```
上述代码中,我们使用 Lambda 表达式实现了 `MyFunctionalInterface` 接口的唯一抽象方法 `myMethod()`。然后我们创建了 `obj` 对象,并调用了 `myMethod()` 方法。
函数式接口的引入使得 Java 8 支持更加简洁和灵活的函数式编程风格,可以在很多场景下替代传统的匿名内部类。
阅读全文