抽象類與接口不同

1.抽象類:當父類的一些方法不能確定時,可以用abstract關鍵字來修飾該方法【抽象方法】,用abstract來修飾該類【抽象類】

  1. 當一個子類繼承的父類是抽象類的話,需要我們在子類中把抽象類中所有的抽象方法全部實現

3.抽象類的注意:

(1)抽象類不能實例化,就是不能實例創建對象

(2)抽象類不一定包含抽象方法

(3)一旦某個類包含了抽象方法,該類必須聲明爲abstract,抽象類

(4)抽象方法不能有主體

(5)抽象類可以沒有抽象方法,但是可以有實現了的方法

4.接口:(是更加抽象的抽象類),體現了程序設計的多態和高內聚低耦合的思想

(1)接口不能實例化

(2)接口中中的所有方法都不能有主體(區別抽象類) 注:(在java8中添加default修飾後,可以有主體,被稱爲默認方法,可以重寫,但是不能被final修飾)

(3)一個類可以實現多個接口 兩個接口逗號分隔

(4)接口中可以有變量【但變量不能用private,protected修飾】

a.接口中的變量,本質上都是static的,而且是final,不管你加不加static修飾

b.在java開發彙總,我們經常把常用的變量,定義在接口中,作爲全局變量使用。訪問形式:接口名.變量名

(5)一個接口不能繼承其他的類,但是可以繼承別的接口

5.實現接口可以看作是對繼承的一種補充,實現接口可在不打破繼承關係的前提下,對某個類功能擴展,非常靈活

6.用接口實現多態

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章