Sunday, January 27, 2019

Functional Interface: is an interface it contains only one abstract method and declares with annotation @FunctionalInterface
E.g:
                        @FunctionalInterface
                        interface ReverseString{
String reverse(String n);
                        }

    public class ImplementingLamdaExpression {
         public static void main(String args[]){
ReverseString myreverse= str ->{
String result="";
for(int i=str.length()-1;i>0;i--){
result=result+str.charAt(i);
}
return result;
};
System.out.println(myreverse.reverse("avinash"));
}
   }

Why?- To enable functional programming in java we use lamda expression
Advantages of Functional programming:
  • you can assign function to a variable i.e. a=func()
  • you can pass function as parameter to other function i.e. fun(fun)
Examples of functional interface:
     Runnable-> only one abstract method - run()
     Callable-> only one abstract method -  call()
     Comparable-> only one abstract method -compareTo()

Default and static methods in an interface:
     Before 1.8 interface contains only abstract methods. Later, interface allows default static methods

i.e. functional interface can have 100's of default and static methods but should have only one abstract method

Interface interf
{
public void abstract m4();-- This wont throw any error and will not be considered as functional interface as it is having more than on abstract method
public void abstract m1();

public void default m2()
{
}

public void static m3()
{
}

}

@FunctionalInterface(This is the using of @FunctionalInterface annotation)
Interface interf
{

public void abstract m1();
public void abstract m4();-- This will throw error saying that functional interface should have only abstract method
public void default m2()
{
}

public void static m3()
{
}


Related Posts:

  • Fibonacci Series Write a Java Program to print Fibonacci  series up to 10        public class Fibonacci { public static void main(String[] args) { int num = 10;  … Read More
  • Static Keyword Static is a keyword in Java, which is used for static blocks variables methods and  inner classes or nested classes A static member can be accessed directly with the class name with out creating an object.  Th… Read More
  • HashMap vs ConcurrentHashMap Difference between HashMap and ConcurrentHashMap: ConcurrentHashMap is thread-safe that is the code can be accessed by single thread at a time. while HashMap is not thread-safe HashMap can be synchronized by using sy… Read More
  • foreach() method in Java Java API provides foreach() method since jdk1.8v. This method traverses each element of the collection until all elements have been Processed by the method or an exception is raised. Exceptions thrown by the Operation are pa… Read More
  • 2nd highest salary of an employee? MySQL: Sub queries in SQL are great tool for this kind of scenario, here we first select maximum salary and then another maximum excluding result of subquery mysql> SELECT max(salary) FROM Employee WHERE salary NOT IN (S… Read More

0 comments:

Post a Comment

Selenium Training in Realtime

Blog helps to a student or IT employee to develop or improve skills in Software Testing.

Followers

About Me

My photo
Hyderabad, Andhra Pradesh, India
I am Automation Testing Professional. I have completed my graduation in B.Tech (Computers) from JNTU Hyderabad and started my career in Software Testing accidentally since then, I passionate on learning new technologies

Contact Form

Name

Email *

Message *

Popular Posts