Java 8 のデフォルト メソッドの学習。 インターネット上の他のリソースと同様に、このリンクは言う
「最も厳密な意味」では、デフォルトのメソッドは、インターフェイスをコードで「汚染」できるため、一歩後退しています。しかし、下位互換性を可能にする最も洗練された実用的な方法を提供します。Oracle がすべての Collections クラスを更新し、Lambda 用に既存のコードを改良することがはるかに簡単になりました。
私の理解では、Java 8 dev/designers がインターフェースでデフォルトのメソッドを提供したため、実装するすべてのクラスが同じ動作を不必要にオーバーライドする必要がなくなり、下位互換性が提供されます。例:- ForEach メソッドがデフォルトのメソッドではない場合、クラスを実装するすべてのコレクションがそれを実装する必要がありました。同意した。
これを克服するには、これらのデフォルト メソッドの実装を提供する 1 つのクラスを用意し、arraylist などのクラスを実装してそれを拡張することができます。このようにして、Java の基礎、つまり再利用性と抽象化、つまりインターフェースの汚染を少なく保つことの両方を達成することができました。
Java 8 dev/designer はすでにこれについて考えていると確信しています。私たち開発者もこの大きな変更を把握できるように、誰かがここで助けてくれませんか?