包含乙個抽象方法的類必須是抽象類
抽象類和抽象方法都要使用abstract關鍵字宣告
抽象方法只需要宣告而不需要實現
抽象類必須被繼承,子類(如果不是抽象類)必須覆寫抽象類中的全部抽象方法
注意:抽象方法不要用private宣告,如果使用private宣告,子類將無法覆寫
ps:抽象類允許構造方法,在子類物件例項化前會預設呼叫父類的無參構造
由全域性常量和公共的抽象方法所組成.(
所以**二可簡寫成**一)
**一:
inte***ce a
**二:
inte***ce a
注意:介面中如果不寫public,則也是public訪問許可權
抽象類的實際應用:可以用來設計模板(比如請假條)
介面的實際應用:可以用來指定標準(比如usb標準)
抽象類表示的是,這個物件是什麼。介面表示的是,這個物件能做什麼。
抽象類與介面的關係
序號區別點
抽象類介面1定義
包含乙個抽象方法的類
抽象方法和全域性常量的集合2組成
構造方法,抽象方法,普通方法,變數,常量
全域性常量,抽象方法3使用
繼承/extends
實現/implements4關係
抽象類實現多個介面
5常見設計模式
模板設計
工廠設計,**設計6物件
通過物件的多型性產生例項化物件7侷限
單繼承無8實際
做為模板
做為標準9選擇
兩者都可用時,優先使用介面,避免單繼承
10特殊
乙個抽象類中可以包含多個介面,乙個介面中可以包含多個抽象類
抽象類和介面的比較
1.抽象類 是一種特殊的類,具有以下特點 a 抽象方法只作宣告,而不包括實現,可以是看成沒有實現體的虛方法。b 抽象類不能被例項化,除此之外,具有類的其他特性。c 抽象類可以但不是不惜具有抽象方法和抽象方法,但是一旦有了抽象方法,就一定要把這個類宣告為抽象類。d 具體派生類必須覆蓋抽象類的抽象方法。...
抽象類和介面的比較
介面和抽象類是非常相似的,但是他們之間是有區別的,主要區別一下幾個方面 1 乙個類可以實現眾多個介面,但是只能繼承乙個抽象類,可以說介面是取消程式語言中的多繼承機制的乙個衍生物,但是不完全如此 2 抽象類可以有非抽象方法,既可以有已經實現的方法,繼承他的子類可以對方法進行覆寫 而介面中定義的餓方法必...
抽象類和介面的比較
因為乙個類只能有乙個父類,所以提出介面,可以為一些小眾的共性作出補充。區別 1.介面可以多重繼承 繼承多個介面 類不可以多重繼承 類可以實現多個介面,但類只能繼承乙個類。2.抽象類成員變數型別不限,介面中的成員變數只能是public static final的 且必須顯式初始化 3.抽象類可以定義非...