首先:從表面區別來看,介面是只有方法宣告,沒有方法體。抽象類有方法體和實現,而且還可以有屬性特徵。
其次:為什麼不能全部用抽象代替介面,因為介面強調的是動作的繼承,而不是所有東西都繼承,抽象只能是純粹的繼承了。考慮乙個問題,如果乙隻狗和乙隻候子都有爬樹的功能,如果用介面,大家實現爬樹就行了,如果用抽象類,那狗繼承候的特徵還有候尾巴什麼的。
再次:介面為什麼可以多重實現,因為他只關注動作本身,不關注其他東西。比如爬樹,如果繼承候的爬樹方法,顯然狗爬樹和候是不一樣的。如果你用介面,僅僅是定義了這個動作,具體怎麼爬是他們的事情 。但用繼承,卻可以繼承爬樹的一些具體細節,運用的情況也要因地制宜了。
所以其實介面是抽象類的特殊情況。
類 抽象類與介面
介面的關鍵字 inte ce 介面的作用 作為資料型別 充當父類給子類擴充套件 定義介面的語法格式 public inte ce 介面名 extends 介面名,注意 介面預設的訪問修飾符為public 介面不能例項化物件 定義類實現介面的語法格式是 public class 類名 implemen...
介面與抽象類
介面與抽象類區別 個人總結 語法結構 1 型別可以繼承多個介面,但是只能繼承乙個抽象類,即不支援多重繼承。2 介面可以用於值型別和引用型別,例如struct和class,而抽象類不能用於值型別,只能用於引用型別。3 抽象類定義可以包括建構函式,字段資料,非抽象成員 具體實現 等,而介面只能包括抽象成...
介面與抽象類
抽象類 當抽象類作為父類時,他的子類對其中的抽象類方法有不同的方法體 簡單舉例為 classhorse mammal,ilangbound public int numeroflegs return 4 inte ce ilandbound int numberoflegs 介面例子 main函式 ...