Skip to main content

Java-8

Java 8 New Features

There are several new features added in Java 8 version. Some of the important new features are:
  1. Define methods inside the interface
  2. For each method
  3. Lambda Expression
  4. Stream API
  5. DateTime API

1) Define methods (default, static) inside the Interface

After you published your interface, you can't change it by adding some abstract methods. But if you want to add methods you can define those methods inside the interface. Therefore Java 8 support default and static methods inside the interface.
  • In Java 7 version interface only have abstract methods (no method implementation) and an abstract class can have both abstract and non-abstract methods.
  • In Java 8 version you can add method implementation in the interface, but you have to declare that method as default method.
ex: default void show(){............}
  • To avoid diamond problem you have to override the method in implementation class if two interfaces have same default method




  • If class (A) and interface (I) both have the same method an another class (B) use this method that extends A and implements I, B get the method of class A, because class is more powerful than interface
  • Static methods are allowed inside the interface. 


2) For each method

If you want to loop collection, until Java 7 you can use for loop or enhanced for loop.
  • For loop

  • Enhanced for loop

But above two kinds of loops are called external loops. They are fetching the values from outside of the collection.But in Java 8 you can use foreach method to loop and it is considered as an internal loop.
  • For each method
For each method implements the accept method in Consumer interface.

3) Lambda Expression

If you have an interface with abstract methods you can use that method implementation in another class without implementing that class with the defined interface. 


4) Stream API 

Stream API contains a lot of methods to handle big data. The methods defined in stream API can be divided into two types


  • Intermediate method
    • Once you used data you can't use it again
  • Terminate method

5) Date/Time API

Date/Time API provides LocalDate, LocalTime and LocalDateTime methods that support to print date and times easily.





Comments

Popular posts from this blog

Object Oriented Programming (OOP)

Object Object is an entity that has state and behavior Class Collection of objects is known as class. There are four main types of OOP concepts Inheritance Object acquire all the properties and behavior of parent object Improve code re-usability Polymorphism One task is performed by different ways Use method overload and override Abstraction Hiding internal details and showing functionality Use abstract class and interfaces Encapsulation Binding code and data into a single unit

Maven

Maven is a software project management and comprehension tool, based on the concept of project object model. Maven Usages Build the code in the development environment (compile the source code, run the test cases and packaging the project) Project management tool Generate reports Dependency management Installation Steps You can install Maven by following below steps .  Manual Installation Download Maven binary file Create some environment variables M2_HOME = environment point to maven directory PATH = append Maven path until bin to path variable Using Ubuntu Terminal sudo apt-get install maven To check Maven is successfully installed, issue the following command mvn --version To create a Maven project using Terminal use following steps mkdir myApp cd myApp/ mvn archetype:generate : choose archetype for the project  groupId: org.amali.myProject (like package name) artifactId: MavenTestApp (like class name) The...

Model-View-Controller (MVC)

MVC(Model-View-Controller) is a software design pattern.It divided your applications into three components Model: Contain business rules and application Data View: Presentation layer (user interface) Controller: Handles the communication between view and model  Objectives of MVC Promote code usability Implement separation of concerns  Separate user interface and software logic Web Frameworks That Use MVC There are several web frameworks that use MVC design pattern.  Ruby On Rails (Ruby) Angular (JS) Django (Python) Express (JS) Flask (Python) Codeigniter (PHP) Simple UseCase for MVC In this use case scenario, Browser sends information that needs to create Employee Object, and Controller save that information in Model and Update the Employee View. Following Image shows the class diagram for above Scenario. Implementation:  https://github.com/kaosadi17/MVC