沒想過面試的時候,會遇到語言設計上的問題。現場答得並很差由於一直沒思考過,通過了點搜索,漸漸有點思路。面試
1. 避免「鑽石型」多繼承問題:有兩個類B和C繼承自A。假設B和C都繼承了A的方法而且進行了覆蓋,編寫了本身的實現。假設D經過多重繼承繼承了B和C,那麼D應該繼承B和C的重載方法,那麼它應該繼承哪一個的呢?spa
2. 多種繼承會使系統設計更加複雜且難以維護。設計
3. Java裏的接口規定一個類該作什麼,而不是怎麼樣作。而多繼承可能會出現一種狀況,就是兩個類經過不一樣的方法作一樣的東西,子類沒法肯定選擇哪一個?繼承
整體而言,我估計1纔是最重要的;2,3略顯有點不夠說服力。當時記錄一下這個問題吧。接口