多型 抽象類和介面

2021-10-09 19:18:32 字數 957 閱讀 7171

多型是同乙個行為具有多個不同表現形式或形態的能力。

多型就是同乙個介面,使用不同的例項而執行不同操作

多型的優點

消除型別之間的耦合關係

可替換性

可擴充性

介面性靈活性

簡化性多型存在的三個必要條件

繼承重寫

父類引用指向子類物件

過載和重寫

抽象類:

1、抽象類使用abstract修飾;

2、抽象類不能例項化,即不能使用new關鍵字來例項化物件;

3、含有抽象方法(使用abstract關鍵字修飾的方法)的類是抽象類,必須使用abstract關鍵字修飾;

4、抽象類可以含有抽象方法,也可以不包含抽象方法,抽象類中可以有具體的方法;

5、抽象類中的抽象方法只有方法體,沒有具體實現;

介面:1、介面使用inte***ce修飾;

2、介面不能被例項化;

3、乙個類可以實現多個介面;

4、介面中的方法均為抽象方法;

5、介面中不能包含例項或靜態方法(靜態方法必須實現,介面中方法是抽象方法,不能實現)。

我們知道,抽象類是不能被例項化的。但抽象類是否可以有建構函式?答案是可以有。抽象類的建構函式用來初始化抽象類的一些字段,而這一切都在抽象類的派生類例項化之前發生。不僅如此,抽線類的建構函式還有一種巧妙應用:就是在其內部實現子類必須執行的**。

抽象類中是可以定義靜態方法的 因為抽象類中還可以有非靜態方法 但是不可以定義靜態抽象方法

抽象類實際上就比普通類多了一些抽象方法而已,其他組成部分和普通類完全一樣;

不可以有構造方法

在jdk1.8中,接bai口裡可以有靜態方法,介面裡的靜態方法 必須要有body。

介面中不能有成員變數,一定要有只能是final static型別的

多型 抽象類 介面

抽象類介面 什麼是多型?同乙個物件,在不同時刻表現出來的不同形態 1.有繼承 實現的前提 2.有方法的重寫 3.有父類引用指向子類物件 例 animal a new cat 成員變數訪問 父類中有的屬性,才能正常編譯 編譯看左邊 如子類也有相同屬性,訪問執行出來的是父類中的屬性值 成員方法訪問 父類...

多型 抽象類 介面

同一物件,在不同時刻表現出來的不同形態 多型的前提和實現 有繼承 實現關係 有方法重寫 有父類引用指向子類物件 多型中成員訪問特點 成員變數 編譯看左邊,執行看左邊 成員方法 便宜看左邊,執行看右邊 為什麼成員方法和成員變數的訪問不一樣呢?因為成員方法有重寫,而成員變數沒有 多型的好處和弊端 好處 ...

多型 抽象類 介面

1.多型的使用方式 父類引用指向子類物件 同一型別的物件引用指向了不同型別的子類物件,具體方法的實現不同 呼叫的方法需要是子類和父類都有的,但是執行的是子類的,就是執行醫生類覆蓋的 重寫的 eat方法 也就是所謂的 編譯看左邊,執行看右邊!能夠呼叫什麼方法,取決於引用的型別,而方法中具體怎麼執行,要...