多型和關鍵字instanceof

2021-08-18 18:23:07 字數 953 閱讀 3105

1,同一種事物,由於條件不同,產生的結果不同

多型:同乙個引用型別,使用(指向)不同的例項而執行不同的操作;

方法重寫是多型的基礎,

2,多型的兩種形態轉換:

a父類型別的引用指向子類型別物件;

子類相父類的轉換稱為向上轉型:將乙個父類的引用指向乙個子類物件,稱為向上轉型,系統會自動進行型別轉換

向上轉型(只能呼叫繼承關係中被重寫的方法)

《父型別》《引用變數名》 = new《子型別》();

hous hous = new dog();//向上轉型

b將乙個指向子類物件的父類的引用賦給乙個子類的引用;

即將父類型別轉換為子型別,稱為

向下轉型

,此時必須進行

強制型別轉換

;只有進行強制型別轉換,將父類型別轉換為子類型別,然後才能呼叫子類特有的方法

;向下轉型(父類引用變數呼叫的方法是子類覆蓋或者繼承了的父類的方法,不是父類的方法);

此時通過父類引用變數,無法呼叫子類特有的方法,因此還需向下在進行一次轉換才能呼叫子類特有方法;

《子型別》《引用變數名》=(《子型別》)《父型別的引用變數》

hous hous1 = new bird();//向上轉型

多型有兩種使用父類的形式:

1使用父類作為方法的引數

2使用父類作為方法的返回值

instanceof:

使用時,物件型別必須和關鍵字後面的引數所指定的類有上下級關係

解釋:特定型別的變數可以引用不同型別的物件,並且能夠自動的呼叫引用物件的方法,也就是根據作用到的不同物件型別,響應不同的操作:

像乙個父類型別的變數可以引用子類的物件,這樣他在記憶體中儲存的資訊是子類的,但是編譯的時候型別是父類的,所以乙個

型別的變數可以指向不同型別的物件,這就是多型。

多型意味著在一次方法呼叫中,根據包含的物件的實際型別(實際的子類物件)來決定應該呼叫哪個方法

多型 final關鍵字 static關鍵字

1.什麼是多型性 同乙個動作與不同的物件產生不同的行為 多型 必須有繼承 不同的子類重寫父類方法後體現出來的形式不一樣 或者介面的實現 乙個物件的多種形態叫做多型 2.形成多型的必要條件 1 繼承 存在子類和父類的關係 2 介面實現 定義乙個類實現對應的介面 3 重寫 子類重寫父類的方法 4 過載 ...

多型 instanceof關鍵字

animal a new dog animal a 所有子類型別 概念 父類引用指向子類物件,從而產生多種形態。使用場景一 使用父類作為方法形參實現多型,使方法引數的型別更為寬泛 原理 如果子類覆蓋了父類的方法,則執行子類中覆蓋後的方法 使用場景二 使用父類作為方法返回值實現多型,使方法可以返回不同...

this關鍵字和super關鍵字

this關鍵字和super關鍵字都必須放在構造方法的第一行,所有兩個關鍵字不能同時存在,任選其一即可,只需保證子類的所有構造方法呼叫父類的構造方法即可 this關鍵字的應用 this關鍵字用於區分區域性變數和成員變數的同名問題 有this關鍵字的是成員變數,或者是誰呼叫我,訪問的就是誰 this關鍵...