JAVA學習總結之抽象類和介面

2021-08-08 20:39:09 字數 1280 閱讀 3279

一、抽象類:乙個有abstract修飾的類就是抽象類。必須有子類,抽象類為子類提供約束,為介面卡設計模式提供了前提。

特徵: (1)抽象類是用abstract修飾的類;

(2)抽象類中可以有抽象方法,也可以有普通的成員變數,及成員方法;

(3)抽象類有構造方法;

(4)抽象類不能例項化;

(5)乙個類繼承了乙個抽象類,那麼必須實現抽象類中的抽象方法。

意義:1.為子類提供實現的方法及變數,解決**復用問題;

2.為子類提供約束,解決開發規範問題,提供了大型專案開發的解決方法。

二、介面:用inte***ce修飾的就是介面。前提:必須要有實現類

特徵:1.介面中的方法,全是抽象方法,都不能有方法體;

2.乙個類實現(implements)了乙個介面,則這個類是這個介面的實現類。實現類必須實現這個介面中的所有方法;(因為這個介面中的所有方法都是抽象的,所以必須實現)

3.介面中的方法,預設都是被public 和 abstract修飾的,無論是否顯示的宣告了。因此實現了介面的實現類的實現方法,預設的訪問修飾符都是public的;

4.介面中的變數,全是預設被final和static修飾的。無論是否顯示的宣告了,因此介面中的變數必須賦初值;

5.乙個類可以實現多個介面;

6.介面可以繼承多個介面

介面和抽象類的區別:

1.修飾詞不同。介面用inte***ce ,抽象類用class;

2.成員變數不同。介面中只能有final.static修飾的變數,抽象類中可以有普通的成員變數;

3.成員方方法不同。介面中的方法全是public.abstract修飾的方法,抽象類中可以有普通的成員方法;

4.構造方法不同。介面中沒有構造方法,抽象類有構造方法;

5.實現的方法的許可權不同。介面的實現類的方法都是public,抽象類的子類的方法修飾符只要大於等於抽象類即可;

6.乙個類可以實現多個介面。而乙個類只能繼承乙個父類;

7.抽象類依然屬於類,要遵從類的繼承和抽象原則。而介面打破了繼承和抽象的原則,提高可擴充套件性。

介面和抽象類的相同點:

1. 介面和抽象類都不能例項化,需要借助實現類或子類例項化;

2.都可以有抽象方法;

3.都為實現類或子類提供了約束。

意義:1.為實現類提供約束,解決開發規範問題,提供了大型開發的解決方法;

2.介面提高了程式的擴充套件性

大原則:乙個類繼承了父類,則子類不能縮小父類的許可權,只能放大或等於父類的許可權

乙個類實現了乙個介面,這個實現類也不能縮小介面的許可權,只能方法或等於介面的許可權。

Java學習之 抽象類與介面

一 抽象類 1 為子類提供通用表達形式的類,使子類可以通過動態繫結機制呼叫與基類宣告的簽名相符的衍生類方法。抽象類只提供一種形式,不提供實施的細節。2 抽象類中的抽象方法只有宣告,沒有方法體。乙個類如果有乙個或多個抽象方法,該類必須用abstract關鍵字宣告為抽象類。3 抽象類不能通過new類例項...

Java 介面和抽象類

介面,inte ce,介面泛指供別人呼叫的方法和函式。介面的形式 public inte ce inte cename 介面的特點 1 介面中可以含有變數和方法。2 其中變數被隱式的指定為public static final 變數並且只能是這種變數。3 介面的方法隱式的指定為public abst...

java抽象類和介面

抽象類 乙個類中只要有乙個抽象方法 那麼這個類就必須是抽像的 抽象類必須要進行例項化 public abstract class animal class cat extends animal 介面 從本質上講介面是一種特殊的抽象類 介面中所有的方法都是抽象的 並且介面中的成員都是public 介面...