學習java 8的默認方法。 這link像互聯網上的任何其他資源說爲什麼接口默認方法?
在「嚴格意義上的」,默認的方法是一種倒退,因爲 它們允許你「污染」的接口的代碼。但他們 提供了最優雅和實用的方式,以允許向後兼容 。它使Oracle更容易地更新所有 集合類,併爲您更新現有的代碼 Lambda。
我的理解是Java 8開發/設計者在接口中提供的默認方法,使得所有執行類沒有不必要地 倍率相同的行爲,因此,提供向後兼容性。例如: - 如果ForEach方法不是默認方法,則每個實現類的集合都必須實現它。同意。
爲了克服這一點,我們可以有一個類提供這些默認方法的實現,然後實現像arraylist等類可以 已經擴展了。通過這種方式,我們可以確定java的基本原則,即可重用性和抽象性,即保持接口污染更少
我相信java 8 dev/designer已經考慮過了,因爲它們更加了解,我在這裏錯過了一些東西。有人可以在這裏幫助,以便我們的開發人員也可以在這個重大變化之上做到最重要?
[Java 8中默認或Defender方法的用途]的可能重複(http://stackoverflow.com/questions/19998309/purpose-of-default-or-defender-methods-in-java-8) – roottraveller