接口中的default方法(默認方法)


一、概念

1. 接口提供一個默認實現的方法,並且不強制實現類重寫此方法

2. 默認方法使用default關鍵字來修飾

 

二、引入背景

1. 當一個接口添加新方法時,需要所有的實現類都重寫新方法,影響到了已有的實現類,可能導致應用崩潰

2. 默認方法可以不強制重寫,也不會影響到已有的實現類

3. 例如Iterable接口的foreach方法,就是一個默認方法,參數是一個Consumer對象

 

三、使用

1. 當一個實現類實現了多個接口,多個接口里都有相同的默認方法時,實現類必須重寫該默認方法,否則編譯錯誤

a. 實現類自己重寫邏輯

b. 實現類使用super關鍵字指定使用哪個接口的默認方法

 

2. 接口靜態方法

接口中支持定義靜態方法,將默認方法的default關鍵字換成static即可

 

3. 繼承類可以直接使用接口中的static方法,也可以創建對象后使用接口中的default方法

 

 

 

參考:

https://www.jianshu.com/p/a58b6f5b0c54

https://www.jb51.net/article/137630.htm

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM