Basic usage of default methods

suggest change
/**
 * Interface with default method
 */
public interface Printable {
    default void printString() {
        System.out.println( "default implementation" );
    }
}

/**
 * Class which falls back to default implementation of {@link #printString()}
 */
public class WithDefault
    implements Printable
{
}

/**
 * Custom implementation of {@link #printString()}
 */
public class OverrideDefault
    implements Printable {
    @Override
    public void printString() {
        System.out.println( "overridden implementation" );
    }
}

The following statements

new WithDefault().printString();
new OverrideDefault().printString();

Will produce this output:

default implementation

overridden implementation

Feedback about page:

Feedback:
Optional: your email if you want me to get back to you:


Default Methods:
* Basic usage of default methods

Table Of Contents
8 Arrays
10 Maps
11 Strings
13 Default Methods
25 JAXB
29 Enums
32 Audio
41 Scanner
63 Logging
75 Lists
78 Sets
89 JAX-WS
96 XJC
98 Process
106 Modules
114 Applets
122 JNDI
139 JavaBean
141 Literals
144 Packages
150 JMX
153 JShell
159 Sockets
167 Enum Map
175 Hashtable
177 SortedMap