向上型別轉換和向下型別轉換

2021-08-04 07:55:31 字數 427 閱讀 3884

向上轉型  student person= new student()

1)        將乙個父類的引用指向乙個子類物件,成為向上轉型,自動進行型別轉換。

2)        此時通過父類引用變數呼叫的方法是子類覆蓋或繼承父類的方法,而不是父類的方法

3)        此時通過父類引用變數無法呼叫子類特有的方法

向下轉型    student stu =(student)person;

1)        將乙個指向子類物件的引用賦給乙個子類的引用,成為向下轉型,此時必須進行強制型別轉換。

2)        向下轉型必須轉換為父類引用指向的真實子類型別,,否則將出現classcastexception,不是任意的強制轉換

3)        向下轉型時可以結合使用instanceof運算子進行強制型別轉換,比如出現轉換異常。

C 向上型別轉換和向下型別轉換

有乙個毛病 遇到乙個問題,總想著以後在遇到再解決,導致乙個簡單的餓問題永遠在拖延,什麼也沒弄會。不知怎麼養成這個壞習慣,誓改之。一 向上型別轉換 所謂向上型別轉換,是指取乙個物件的位址,將其作為基類的位址處理,因為繼承樹是以基類為頂點的。此種轉換無需顯式型別轉換,正是利用這一性質從而實現了多型性。二...

c 中向上型別轉換和向下型別轉換

在c 的世界中有這樣兩個概念,向上型別轉換,向下型別轉換,分別描述的是子類向基類和基類向子類的強制型別轉換。在向上型別轉換的過程中 使用指標和引用不會造成切割,而使用直接賦值會造成切割。在向下型別轉換的過程中 使用dynamic cast進行向下強制型別轉換。使用此關鍵字有一下幾個條件 必須有虛函式...

指標型別的向下轉換和向上轉換

這裡稍微解釋下何謂指標型別的向下轉換和向上轉換。向下轉換是指派生類指標轉換為基類指標型別,向上轉換是指基類指標型別轉換為派生類型別。c 一般使用dynamic cast轉換符實現向上轉換。智慧型指標可以毫無問題的進行向下型別轉換,卻不能使用dynamic cast進行向上型別轉換。那麼怎麼實現智慧型...