在Java的util包中,ArrayList的繼承體系是實現List接口并且繼承AbstractList(其它接口忽略), 但是其實在AbstractList中已經實現了List接口。 所以感覺這里在ArrayList中再次實現List`接口是不是多此一舉了?或者還是有其它的設計目的?
2 回答

絕地無雙
TA貢獻1946條經驗 獲得超4個贊
假設……僅僅是假設……下面所說這種情況極難發生,但并不排除其可能性
因為框架需要,AbstractList 不再實現 List 接口,而是實現 NewList 接口,這個時候 ArrayList 仍然要實現 List 接口,而且需要從 AbstractList 繼承以實現復用……現在發揮你的相像力……
這在相對成熟的 JDK 中幾乎不會發生,但難免你自己寫的代碼里可能會發生這種事情。而 JDK 自己的代碼,就是一個設計模式和開發的典范,所以……
添加回答
舉報
0/150
提交
取消