答:
抽象類和接口比起來,有一個好處,就是某些函數可以實現具體的方法,而并不一定是聲明抽象的方法,而接口只能聲明抽象方法,所以用一個抽象類來實現某個接口可以實現一些通用的方法,而這些具體實現的方法里還可以調用抽象方法,所以減少了子類中的重復代碼。
java庫里也有不少這這樣的設計,
比如java.util.AbstractList實現了java.util.List,而其實某些方法就是調用了抽象方法。
還有一個好處就是可以給子類一個默認的實現,而不必給所有的子類實現所有的方法。
另外還有一個好處就是可以提供一些公用的方法給子類使用。
2.