Java8で最もインパクトのある構文拡張、デフォルトメソッド

Java8でのラムダの使い方などを説明してきたのですが、構文拡張自体には触れていなかったので、改めてここで簡単に説明しておこうと思います。
まずは、Java8で実際に最もインパクトがある言語拡張、インタフェースのデフォルトメソッドです。

デフォルトメソッドとデフォルト実装

いままでインタフェースには実装をもつことができませんでしたが、Java 8からはインタフェースが実装をもてるようになります。
実装をもつメソッドを定義するときには、キーワードdefaultをメソッドの前につけます。

interface Foo{
    void print(String s);
    default void twice(String s){
        print(s);
        print(s);
    }
}


twiceメソッドが実装をもっています。この実装をデフォルト実装といいます。

続きを読む