Funcional implementaciones de interfaz y casos de uso

Jigar Naik:

Yo sólo estaba tratando de escribir una interfaz funcional para comprender los diferentes casos de uso.

Mirando el código de abajo que he escrito, entiendo que puedo tener diferentes implementaciones que utilizan expresiones lambda. Aparte de esto ¿alguien puede mostrar las implementaciones complejas?

¿Es posible utilizar otro método por defecto es decir, addLikeOtherWayen la expresión lambda? si es así cómo en mi ejemplo?

¿Por qué tendría interfaz con sólo un método abstracto? ¿Cuál sería el caso de uso de tener sólo método abstracto sola en mi interfaz?

public class Calculator {

    public static void main(String[] args) {
        ICalculator i = (int a, int b) -> a + b;
        System.out.println(i.add(5, 2));
        i = (int a, int b) -> a + b + a;
        System.out.println(i.add(5, 2));
    }
}

@FunctionalInterface
interface ICalculator {

    public int add(int a, int b);

    default int addLikeThis(int a, int b) {
        return a + b;
    }

    default int addLikeOtherWay(int a, int b) {
        return a + b + a + b;
    }

}
Sushobh Nadiger:

¿Por qué tendría interfaz con sólo un método abstracto? ¿Cuál sería el caso de uso de tener sólo método abstracto sola en mi interfaz?

Para facilitar el uso de las expresiones lambda, que son funciones sin nombre. Las expresiones lambda hacer que el código expresivo y reducir el desorden. También hace que el código sea más legible. Esto se basa mi experiencia trabajando con las expresiones lambda.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=214457&siteId=1
Recomendado
Clasificación