Java : @FunctionalInterface (annotation) 示例

Java 中的 FunctionalInterface (Java SE 24 & JDK 24) 及其示例。
您将找到大多数 FunctionalInterface 方法的代码示例。

注解 :

  • 本文可能使用了翻译软件以方便阅读。 另请查看英文原文

简介

一种信息性注释类型,用于指示接口类型声明旨在实现 Java 语言规范定义的函数式接口。从概念上讲,函数式接口只有一个抽象方法。 (机器翻译)

Class diagram

Instances of functional interfaces can be created with lambda expressions.

@FunctionalInterface
public interface Foo {
    void func();
}
public class Main {
    public static void main(String[] args) {
        // A lambda expression.
        final Foo foo = () -> System.out.println("Foo!");
        foo.func();
    }
}

// --- PowerShell ---
//PS R:\java-work> ls -Name
//Foo.java
//Main.java
//
//PS R:\java-work> javac *.java
//
//PS R:\java-work> java Main
//Foo!

An example of a compile error :

@FunctionalInterface
public interface Foo {
    void func1();

    void func2();
}

// --- PowerShell ---
//PS R:\java-work> javac *.java
//Foo.java:2: error: Unexpected @FunctionalInterface annotation
//@FunctionalInterface
//^
//  Foo is not a functional interface
//    multiple non-overriding abstract methods found in interface Foo
//1 error

Please see also Java Language Specification :


相关文章

  • API 示例
To top of page