java基礎知識點之多態,接口,抽象類



Java基礎知識點

多態

在運行時,子類的對象可以轉換爲父類類型,而父類的對象實際上無法轉換爲子類類型

Java編譯器允許在具有直接或間接繼承關係的類之間進行類型轉換,對於向上轉型,Java編譯器會自動進行,對於向下轉型,需要進行強制類型轉換在運行時環境中,通過引用類型變量來訪問所引用對象的方法和屬性時,Java虛擬機採用以下綁定規則:

  1. 實例方法與引用變量實際引用的對象的方法綁定,這種綁定屬於動態綁定,因爲是在運行時由Java虛擬機動態決定的。

  2. 靜態方法與引用變量所聲明的類型的方法綁定,這種綁定屬於靜態綁定,因爲實際上是在編譯階段就已經綁定。

  3. 成員變量(靜態變量,實例變量)與引用變量所聲明的類型的成員變量綁定,這種綁定屬於靜態綁定,因爲實際上是在編譯階段就已經綁定 。

接口

  1. 接口中的成員變量默認都是public,static,final類型的(都可省略),必須被顯示初始化,即接口中的成員變量爲常量(大寫,單詞之間用"_"分隔)。

  2. 接口中的方法默認都是public,abstract類型的(都可省略),沒有方法體,不能被實例化。接口中只能包含public,static,final類型的成員變量和public,abstract類型的成員方法。

  3. 接口中沒有構造方法,不能被實例化。

  4. 一個接口不能實現(implements)另一個接口,但它可以繼承多個其它的接口。

  5. 接口必須通過類來實現它的抽象方法。

  6. 當類實現了某個接口時,它必須實現接口中的所有抽象方法,否則這個類必須聲明爲抽象的。

  7. 不允許創建接口的實例(實例化),但允許定義接口類型的引用變量,該引用變量引用實現了這個接口的類的實例。

抽象類

  1. 抽象類是不能直接實例化對象的。

  2. 抽象類的子類必須重寫父類的抽象方法,才能實例子化,否則子類也是一個抽象類。

  3. 抽象類可以含有普通數據,普通方法。

發佈了52 篇原創文章 · 獲贊 9 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章