Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / Java / Interfaces Funcionales

Interfaces Funcionales

Autor 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

Si te ha gustado podrías compartirlo o dejar un comentario. ¡Muchas gracias!
Autor: JC Mouse

Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.

Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye

Enjoy! :)

También Te Podría Interesar

Hola mundo en Netbeans

Hola mundo en Netbeans

De los diferentes IDE’s que existen para crear aplicaciones para android, lamentablemente Netbeans es una de las m...

Gráfico de lineas con jfreechart

Gráfico de lineas con jfreechart

Los gráficos de líneas muestran una serie como un conjunto de puntos conectados mediante una línea. Los valores se repre...

Conexión RESTFUL con android y JSON

Conexión RESTFUL con android y JSON

En este tutorial crearemos una sencilla aplicación android que nos permitirá conectarnos a un RESTFUL, obtener un result...

Manejo de BLOB: Escritura y lectura de archivos

Manejo de BLOB: Escritura y lectura de archivos

Un BLOB en SQL es un tipo incorporado que almacena un Objeto Binario Grande como un valor de columna en una fila de una...

Animación de bicho feo en java2D

Animación de bicho feo en java2D

Java2d nos permite manipular imagenes y asi poder crear animaciones sencillas como muestra el siguiente video. Puedes de...

Autenticación de usuarios bajo el patrón MVC

Autenticación de usuarios bajo el patrón MVC

MVC es un patrón de arquitectura de software que separa una aplicación en tres componentes lógicos principales.  Estos s...

Comparte lo que sabes

Categorias

Últimas entradas

WhatsApp anuncio a través de su blog que ya se encuentra disponible la función de envío de fotos y videos TEMPORALES, es...

Muchas de las innovaciones computacionales de la NASA se desarrollaron para ayudar a explorar el espacio, pero ahora la...

TikTok es una plataforma de microvideos muy popular entre los jóvenes el cual cuenta ya con millones de videos cortps de...

Una clase JTree permite mostrar datos de una forma jerárquica y en realidad este objeto no contiene sus datos; es decir,...

Herramientas

Generador de Enlaces a Whatsapp