多型和介面

2021-10-12 14:25:33 字數 759 閱讀 8169

實現多型

向上轉型    (自動型別轉換)

pet dog=new dog();

只能父類允許被訪問的方法和屬性,子類重寫了父類的方法

向下轉型    (強制型別轉換)

pet dog=new dog();

dog d=(dog)dog;

不安全,結合instanceof

介面的特點

1.介面中只能有抽象方法,並且具有預設的訪問修飾符   public   , abstract,可以不寫

如果寫必須按照該修飾符

2.介面中只能定義常量,並且具有預設修飾符, 

public static final ,可以不寫,如果寫必須按照該修飾符

3.介面不允許被例項化

4.介面可以實現多個,必須重寫所有介面中的抽象方法

介面和抽象類的區別

1.方法

介面中只能有抽象方法,而抽象類中可以有抽象方法和非抽象方法

2.變數

抽象類中可以定義普通變數,常量,而介面只能定義常量並且具有預設的修飾符

3.本身

介面和抽象類都不允許被例項化。

4.介面可以實現多個,抽象類只能繼承乙個

5.關注點不同

抽象類關注的是類和類之間的關係     is a

介面關注的是能力(功能)    has  a

介面比抽象類更具有**的擴充套件性,因為介面強制實現多型

關鍵字  定義介面:inte***ce

實現介面:implements

多型和介面 C

一 多型 1.是什麼 多型就是物件可以表現對各型別的能力。2.有什麼 子類和父類的關係 子類和父類方法名相同解決方案 一 在子類方法修飾符後面加new 二 在父類的方法修飾符後面加上virtual 在子類中重寫父類的方法,加上乙個override.呼叫父類的方法,但是把父類的方法進行了重寫,更換了裡...

Java 介面和多型

介面 乙個比抽象類還抽象的類,介面中所有的方法都是抽象方法 介面的成員特點 1.只能有抽象方法 2.只能有常量 沒有乙個方法體,無法對變數進行初始化 3.預設使用public和abstract修飾方法 4.只能使用public和abstract修飾方法 5.預設使用public,static,fin...

Java核心 介面 繼承和多型 多型

利用多型可以使程式具有良好的擴充套件性,並可以對所有類物件進行通用的處理。eg 定義乙個平行四邊形的類 parallelogram 在類中頂乙個 draw 方法。public class parallelogram 如果需要頂乙個繪製正方形的方法,通過定義乙個正方形類來處理正方形物件,會出現 冗餘的...