1: Functional Interface is used to invoke lambda expression.
2: Its method contain only singlr abstract method (SAM)
3: It act as a type of Lambda expression
for ex Runnable r=()-{System.out.println(“thread”)};
here lambda expression on right hand side is type of Runnable
4: There is no restriction of defining number of static & default method in functional interface