Functional Interface – it’s an Interface with one abstract methods
Use of Functional Interface
- Pass Functionality to Lambda expressions
- Stream API
Implementation of Functional Interface
- must include @FunctionalInterface annotation [check line 1]
- must have one abstract method [check line 3]
@FunctionalInterface
public interface CalculateInput{
public abstract void calculate(int num,int num2);
}
Implementing lambda expression using Functional Interface
CalculateInput n1 = (int n,int n2) -> {System.out.println("result = "+
(n+n2));};
n1.calculate(2,3);
lambda expression is a shorthand form of an anonymous class
Ex. of anonymous class
CalculateInput anonymousClass = new CalculateInput(){
@Override
public void calculate(int num,int num2) {
int n2=2;
System.out.println("result = " +(num+n2));
}
};