向下转型和向上转型(易理解)
生活随笔
收集整理的這篇文章主要介紹了
向下转型和向上转型(易理解)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
向上轉(zhuǎn)型:父類引用指向子類對象
?定義A B C D 四個類,分級繼承
對象 a 的編譯類型是A,運行類型是B,A是B的父類,父類的引用 a 指向的是B這個子類的對象,因為new的是B這個類,創(chuàng)建的也就是B這個類的對象,這就是向上轉(zhuǎn)型
?我還可以這樣,將a指向C ,D類的對象,也是向上轉(zhuǎn)型,只要運行類型是編譯類型的子類就可以
需要注意的是:引用 a 的編譯類型(此時是A),是不能改變的,編譯類型在定義引用時就已經(jīng)確定了,就像是人的親生父親,是不能改變的,一生下來就確定了,除非向下轉(zhuǎn)型,而運行類型就像是義父,可以改變;
向下轉(zhuǎn)型:父類對象(編譯類型)轉(zhuǎn)成子類對象
向下轉(zhuǎn)型有點類似于數(shù)據(jù)類型的強制類型轉(zhuǎn)換
?將a 的編譯類型強制轉(zhuǎn)換為B類型,并用一個引用aa接收
需要注意:?
1.向下轉(zhuǎn)型不能低于初始定義的運行類型
?在這里也就是括號里的類不能低于B類,否則運行時會報錯
2.編譯類型不能低于運行類型
這樣
?
或者是這樣
?
?都是錯的
3.括號里的類不能高于初始運行類型
?雖然不會報錯,但是此時aa的運行類型任然是C
?4.最低的向下轉(zhuǎn)型
總結(jié)
以上是生活随笔為你收集整理的向下转型和向上转型(易理解)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 创业前期怎么做个简单易行的计划?
- 下一篇: 新办的卡为什么显示无服务器,为什么插入卡