1.抽象類
(1)抽象方法:由abstract修飾的方法是抽象方法,只有方法的定義,沒有方法體
語法:修飾abstract返回值類型 方法名([參數(shù)列別]);
(2)由abstract修飾的類是抽象類,屬于不完整的類,該類不能實(shí)例化,抽象類中可有抽象方法也可以有具體的方法,也可以只有抽象方法或具體方法,根據(jù)業(yè)務(wù)需求來定
(3)一個(gè)具體類如果繼承一個(gè)抽象類,必須實(shí)現(xiàn)該抽象類中所有的抽象方法。
(4)Final和abstract不能同時(shí)修飾類,因?yàn)閒inal修飾的類不能被繼承,而定義抽象類就是被繼承的,兩者互相矛盾,所以不能一塊修飾類
2.接口:制定統(tǒng)一規(guī)范
電腦廠商:usb接口
手機(jī)充電線,u盤,攝像頭
(1)接口由interface定義
(2)接口中所有的屬性都是常量,默認(rèn)是public static final修飾的
(3)接口中的方法都是抽象方法,并且都是public abstract修飾的,接口中不能定義構(gòu)造器,接口不能實(shí)例化
(4)子類如果實(shí)現(xiàn)接口用關(guān)鍵字implements,并且必須實(shí)現(xiàn)接口中所有的抽象方法,如果子類也是接口的話,用extends關(guān)鍵字
(5)子類可以實(shí)現(xiàn)多個(gè)接口,多個(gè)接口之間用逗號(hào)分隔
3.抽象類和接口區(qū)別
共同點(diǎn):都可以有 抽象方法,都不能被實(shí)例化,可以被繼承
不同點(diǎn):(1)類的修飾不一樣,抽象類是用abstract修飾,接口用interface修飾
(2)抽象類中的屬性沒有任何限制,接口中所有的屬性都是常量,并且默認(rèn)都是public static final修飾的
(3)抽象類中的方法可以是抽象方法也可以是具體的方法,接口中的方法都是抽象方法,并且默認(rèn)是public
abstract修飾的
(4)抽象類中可以定義構(gòu)造器,接口中不能定義構(gòu)造器
(5)一個(gè)類可以實(shí)現(xiàn)多個(gè)接口,多個(gè)接口之間用逗號(hào)分隔,但是一個(gè)類只能繼承一個(gè)抽象類