[英]Need for default method implementation in Java 8
原始問題的提問者 M Sach 說,不要使用默認方法,只需將默認實現放在抽象類中即可。
回答者 Eran 說這會破壞現有的代碼。
例如,假設您有自己的List
實現,它是用 Java 7 編寫的,它不是從AbstractList
繼承的。 當您將代碼遷移到 Java 8 時,會發生什么? List
接口中突然出現了一堆您自己的List
實現沒有的新方法(這些方法的“默認”實現在AbstractList
,您的類沒有繼承它)! 您的代碼將不再編譯。
這意味着在遷移到 Java 8 時,您可能必須為現有類編寫新方法。
但是,對於默認方法,默認實現在接口本身中,因此您不必編寫新方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.