Default Interface Example

Java 8 introduces a new feature called Default Interface. This feature allows interface creator to provide default implementations for methods, so that concrete classes that implementing the interface don’t have to provide implementations for those methods.

The below code gives you an example of how to create default interface and how to use them.

Interface


package Core.Default;

public interface Interface1 {
    public void displayImplSpecific();
    public default void displayDefault() {
        System.out.println("Interface Specific Display");
    }
}

Class Implementing the Interface


package Core.Default;

public class Interface1Impl implements Interface1 {
    @Override
    public void displayImplSpecific() {
        System.out.println("Implementation Specific Display.");
    }
}

Main Class


package Core.Default;

public class DefaultDemo1 {
    public static void main(String[] args) {
        Interface1Impl interface1Impl = new Interface1Impl();
        
        interface1Impl.displayDefault();
        interface1Impl.displayImplSpecific();
    }
}

Output

Interface Specific Display
Implementation Specific Display.

Explanation

As you can see from the output and main code, the call to displayDefault by interface1Impl instance prints the text “Interface Specific Display”. The concrete class didn’t had to implement displayDefault as it inherited
the default implementation from the interface.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s