都不能被例項化,位於繼承樹的頂端,都包含抽象方法
1、設計目的:
介面體現的一種規範,類似與整個系統的總綱,制訂了系統各模組應該遵循的標準,因此介面不應該經常改變,一旦改變對整個系統是輻射性的。
抽象類作為多個子類的共同父類,體現的是一種模板式設計,可以當作系統實現過程中的中間產品,已經實現了系統部分功能。
2、使用不同:
乙個子類只能繼承乙個抽象類,但能實現多個介面
抽象類可以有構造方法,介面沒有構造方法
抽象類可以沒有抽象方法,抽象類可以有普通方法,介面中都是抽象方法
抽象類可以有靜態方法,介面不能有靜態方法
抽象類中的方法可以是public、protected;介面方法只有public abstract修飾(預設)
抽象類可以有普通成員變數,介面沒有普通成員變數
抽象類和介面都可有靜態成員變數,抽象類中靜態成員變數訪問型別任意,介面只能public static final(預設)
(ps:抽象類除了包含抽象方法外與普通類無區別。)
面試題總結 抽象類和介面的對比
1 結構組成 抽象類 普通類 抽象方法 介面 全域性變數 抽象方法 2 許可權 抽象類 除private final外各種許可權均可修飾 介面 只能是public修飾 3 子類的使用 抽象類 使用extends繼承抽象類 介面 使用implements實現介面 4 子類限制 抽象類 乙個子類只能繼承...
java抽象類與介面的區別抽象類與介面的特性是什麼
介面和抽象類的概念不一樣。介面是對動作的抽象,抽象類是對根源的抽象。抽象類表示的是個物件,什麼物件。介面表示的是物件的功能,能做什麼。舉個例子 男人 物件 和女人 物件 這兩個類 物件 他們可以抽象為人。公貓和母貓可以抽象為貓。人可以吃飯,可以睡覺,貓呢也可以吃飯和睡覺,那麼這個 吃飯 睡覺 就是某...
類 抽象類 介面 的 總結
方法 構造方法 建立類時類裡面預設的方法 普通方法 返回值 引數 屬性 可以是變數也可以是常量 普通方法 有具體的方法體 抽象方法 抽象方法就是有返回值 有引數 區別就是抽象方法沒有方法體 例如 public void study int x 他的方法體是空的 為什麼沒有方法體呢?抽象方法是用用來描...