Java 8(5)インタフェースのデフォルトメソッド

679 ワード

インタフェースのデフォルトメソッド
インタフェース内のメソッドにdefaultのキーワードを付けると、インタフェースにメソッドのデフォルト実装を書き込むことができます.
  • デフォルトメソッドでは、インタフェースのサブクラスは実装する必要はなく、
  • を直接使用できます.
  • は、1つまたは複数のデフォルトメソッド
  • を定義することができる.
    Listインタフェースの例として、Java 8にデフォルトメソッドが追加されました.
    public interface List extends Collection {
        default void sort(Comparator super E> c) {
            Collections.sort(this, c);
        }
        
        default void replaceAll(UnaryOperator operator) {
            Objects.requireNonNull(operator);
            final ListIterator li = this.listIterator();
            while (li.hasNext()) {
                li.set(operator.apply(li.next()));
            }
        }
    }