java接口是一些方法特征的集合,一個接口只有方法的特征,這些特征可以在不同的地方實現(xiàn),表現(xiàn)出不同的行為。此外java接口可以定義常量。
java中,一個方法的特征包括方法的名稱、參量的種類和數(shù)量,不包括返回類型、拋出的異常以及參量的名字。
抽象類提供部分實現(xiàn),抽象類可以有實例變量、構(gòu)造子,可以同時擁有抽象方法和具體方法。
抽象類應(yīng)該擁有更多的共享代碼,相反應(yīng)該有更少的實例變量。
什么時候使用繼承復(fù)用
1、子類是超類的一個特例,而不是超類的角色,是is-a的關(guān)系,而不是has-a的關(guān)系。
2、永遠不會出現(xiàn)將一個子類替換成另一個類的子類。
3、子類具有擴展超類的責(zé)任,而不是置換掉或注銷掉的責(zé)任。
4、只有在分類學(xué)上有意義才使用繼承,不要從工具類繼承。