* inte***ce 中的方法不能有實現,作用是分類功能,乙個類可以實現多個介面.
public inte***ce ifoo
public inte***ce ibar
public impl implements ifoo,ibar
public int domath(int a, int b, int c)
.....
}* 抽象類的作用的定義公共功能。抽象類和其子類是有上下級關係的。同時乙個子類只能繼承乙個父類.
public abstract class bar
public abstract int dosomething();
}public class foo extends absfoo
}其他類使用foo的例項時也能使用其父類方法foo.docommon(), 這樣當docommon方法改動的時候,只需要改父類,所有子類的這個功能也都同時更新。
* inte***ce中定義的屬性一定是public static final的不管你加不加這些; 而抽象類中的屬性和類的一樣可以通過上述關鍵字來定義,並不是預設強加的。
介面和抽象類的應用場景
舉?來說,要描述乙個人 抽象類表示它是什麼 這個人身高 體重 家庭住址 側重用來定義某個領域的固有屬性,也就是本質。介面表示它能做什麼 這個人會打球 游泳 側重用來定義某個領域的擴充套件功能,也就是物件的行為。介面和抽象類的使用場景 當需要為一些類提供公共的實現 時,應優先考慮抽象類。因為抽象類中的...
PHP介面類和抽象類的區別和使用場景
對介面的使用是通過關鍵字implements。對抽象類的使用是通過關鍵字extends。當然介面也可以通過關鍵字extends繼承。介面中不可以宣告成員變數 包括類靜態變數 但是可以宣告類常量。抽象類中可以宣告各種型別成員變數,實現資料的封裝。介面沒有建構函式,抽象類可以有建構函式。介面中的方法預設...
抽象類和介面的區別以及使用場景
兩者都是抽象類,都不能例項化。inte ce實現類及abstrct class的子類都必須要實現已經宣告的抽象方法。inte ce需要實現,要用implements,而abstract class需要繼承,要用extends。乙個類可以實現多個inte ce,但乙個類只能繼承乙個abstract c...