繼承是一種面相對象的基本特征之一,但在具體語言的語法設計中有兩種方式:單繼承和多繼承。
所謂多繼承是指一個子類可以擁有多個父類;單繼承則是一個子類只擁有一個父類。
單繼承與多繼承的優劣:
多繼承優點在於由於可以同時具備多個父類的特征,可以讓子類擁有更高的豐富的;而缺點是類的繼承結構變的復雜,而且可能出現菱形的風險。
單繼承的優點在於層次結構的清晰,設計上更容易把握;缺點是在豐富度要求較高和復雜的情況下,單繼承從設計結構上沒辦法滿足。
java的解決方案:
Java只是在設計語法時為了類層次結構的清晰度和簡單性,選擇了單繼承,然后又設計了接口的語法對豐富度不足的問題進行彌補。