04-03.eri-test de interfaz Java 8 funciones

En el último artículo de esta serie, discutimos qué son las expresiones lambda y cómo escribir expresiones lambda. En este artículo, discutiremos cómo ejecutar expresiones lambda. Como dije, al final del último artículo, podemos usar las nuevas características de Java 8 para ejecutar expresiones lambda, interfaces funcionales .

Entonces, ¿qué es la interfaz funcional?

La interfaz que contiene el resumen único 方法 (SAM) se llama funcional 接口。 Algunos de los funcionales 接口 que podemos conocer son:

Interfaz Método
Operable Ejecutar ()
Revocable Llamar ()
Comparable En comparación con ()
Oyente de acción acción realizada()

En la versión 1.8, Java introdujo una nota @FunctionalInterfacepara especificar explícitamente la interfaz como una interfaz funcional. Pero el comentario es opcional. Sin embargo, se recomienda escribir comentarios. Ayuda a prevenir cualquier otro método abstracto. Si la interfaz anotada contiene múltiples métodos abstractos, obtendremos un error en tiempo de compilación, que le preguntará:

error: Unexpected @FunctionalInterface annotation@FunctionalInterface^  CustomInterface is not a functional interface    multiple non-overriding abstract methods found in interface CustomInterface

Nota: La interfaz funcional puede tener múltiples métodos predeterminados y estáticos.

Ejemplo 1:

@FunctionalInterfaceinterface A {
    void m1();
} 

@FunctionalInterface
interface B extends A {
}

@FunctionalInterface
interface C extends A {
    void m1();
}

@FunctionalInterface
interface D extends A {
    void m2();
}

En el ejemplo anterior, la definición de la interfaz D no es válida porque contiene dos métodos: m1 () [extendido desde la interfaz A] y m2 ().

En la siguiente parte, presentaré cómo usar expresiones lambda con interfaces funcionales.

de: https://dev.to//csangharsha/java-8-functional-interface-2cm9

Publicado 0 artículos originales · me gusta 0 · visitas 124

Supongo que te gusta

Origin blog.csdn.net/cunbang3337/article/details/105559326
Recomendado
Clasificación