Java version
Java 8 Enhancements :- 1. Lambda expressions: Lambda expression provides implementation of functional interface. https://www.javatpoint.com/java-lambda-expressions Runnable oldRunner = new Runnable(){ public void run(){ System.out.println("I am running"); } }; Runnable java8Runner = () ->{ System.out.println("I am running"); }; 2. Method references: https://docs.oracle.com/javase/tutorial/java/javaOO/methodreferences.html 3. Functional interfaces: An Interface that contains exactly one abstract method is known as functional interface. It can have any number of default, static methods https://www.javatpoint.com/java-8-functional-interfaces 4. Stream API: http://www.baeldung.com/java-8-streams 5. Default methods: https://www.journaldev.com/2752/java-8-interface-changes-static-method-default-method Java interface default methods will help us in extending interfaces without having the fear of breaking implementation classes. Java interface defa