[size=large][align=center]類vs介面vs抽象類[/align][/size]
一、類例項:
public class student()
二、介面
例項:public inte***ce student()
三、抽象類
例項:public inte***ce student()
四、分析
從形式上來看,抽象類是介於類與介面之間的類,通過一些具體的引數來比較
[table]
| |變數 |方法體 |繼承或實現其它類 |關鍵字
||類 |可定義 |可實現 |可繼承可實現 |class&extends
||介面 |不可定義 |不可實現 |不可繼承或實現 |inte***ce&implements
||抽象類 |只可常量 |不可實現 |不可繼承或實現 |abstract&extends|
[/table]
五、總結
1) 類為什麼只能繼承乙個類,而可以現實多個介面呢?
個人覺得這是乙個很棒的繼承體系和方法,因為如果類可以繼承很多的類時,那麼每個類中都可以含有自己的變數和方法,那麼當繼承太多的類時,有可能就會導致遺漏變數的賦值以及子類重寫方法後所帶來的不便。
2)抽象類相當於c++語言中的虛類(virtual),可用於實現動態地多型性。
陣列VS列舉 類VS結構 抽象類VS介面
列舉 public enum language public enum myenum int 陣列是有序的,列舉enum是無序的。結構struct是值型別。用來封裝小型相關變數組。結構可以繼承介面,不嫩被繼承,不能繼承類。結構還可以包含 建構函式 常量 字段 方法 屬性 索引器 運算子 事件 和巢狀...
java學習筆記 介面VS抽象類
介面抽象類 對誰抽象 對動作的抽象 對根源的抽象 方法只能做方法申明 方法申明,也可以做方法實現 變數定義的變數只能是公共的靜態的常量 普通變數 子類是否需要全部實現 實現介面的時候,如不能全部實現介面方法,那麼該類也只能為抽象類。抽象方法必須全部被子類所實現,如果子類不能全部實現父類抽象方法,那麼...
類 抽象類 介面
1.類 變數 靜態和非靜態 常量方法 靜態和非靜態 構造方法 游離塊靜態塊 內部類 靜態和非靜態 2.抽象類 類中可以定義抽象類都可以定義 抽象方法 特點 不能建立物件,不是因為沒有構造器或者構造器私有 3.介面 介面的概念 介面是功能的集合,同樣也是一種引用資料型別,是比 抽象類 更為抽象的類 介...