Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / Java / Interfaces Funcionales

Interfaces Funcionales

Por jc mouse viernes, enero 5, 2018

Una Interface Funcional es una interface que contiene uno y solo un método abstracto aunque puede contener métodos por defecto y estáticos.

Método Abstracto: Un método abstracto es aquel que esta declarado pero no implementado. Es decir, es aquel método del cual se escribe su nombre, valor de retorno y parámetros de entrada, pero no su código.

Si bien podemos definir nuestras propias interfaces funcionales, java 8 trae pre definidos una gran variedad de interfaces en el paquete java.util.function los cuales podemos usar en cualquier momento.

Link Oracle : https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html

Declaración de una Interface Funcional

A continuación un ejemplo de una Interface Funcional que lleva por nombre «MiInterface» e implementa un metod abstracto invertir:

@FunctionalInterface
public interface MiInterface {
    
    String invertir(String palabra);
    
}

Podemos destacar el uso de @FunctionalInterface esta anotación le permite al compilador realizar la validación de la interface, por ejemplo, si ponemos dos métodos abstractos, nos lanza la siguiente advertencia:

interface error

Implementación de la Interface Funcional

A continuación un ejemplo de como implementar la Interface Funcional de la forma antigua y con java 8 usando lambdas:

public class Main {

    public static void main(String[] args) {

        //Antigua forma
        MiInterface miInterface = new MiInterface() {
            @Override
            public String invertir(String palabra) {
                String result = "";
                for (int i = palabra.length() - 1; i >= 0; i--) {
                    result += palabra.charAt(i);
                }
                return result;
            }
        };
        System.out.println(miInterface.invertir("supercalifragilístico"));

        //Con java 8
        MiInterface miInterface2 = (String palabra) -> {
            String result = "";
            for (int i = palabra.length() - 1; i >= 0; i--) {
                result += palabra.charAt(i);
            }
            return result;
        };
        System.out.println(miInterface2.invertir("supercalifragilístico"));
      
    }

}

Finalmente el resultado del código anterior:

superfragialgospinoseque

 

Tags

Artículos similares

Ejemplo RESTFul Webservice en Java

En este post construiremos un Servicio Web en Java bajo el estandar REST (Representational State Transfer), el cual hace[...]

Mapas en HTML5 – Uniendo todo – Parte 6

Última parte del tutorial «Mapas interactivos HTML5», vamos uniendo todo todo el código. En la parte 5 de este tutorial,[...]

Crear ayuda HTML para programa con JavaFX Swing

En este post veremos como crear una aplicación de ayuda al usuario similar al extinto javahelp. Pero en esta oportunidad[...]

TextView Autocompletado

Un TextView autocompletado nos facilita el ingreso de información en aplicaciones móviles ya que te muestra posibles opc[...]

Abre una aplicación swing java desde el navegador de forma segura

Los mejores días del marco de java swing se han ido. Las aplicaciones de escritorio perdieron popularidad y todo está fo[...]

Que es y como se crea una Imagen Forense

¿Que es y para que sirve una imagen forense? Una imagen forense es un «clon» (copia bit a bit) de algún dispositivo como[...]