首頁  >  文章  >  Java  >  java中父類別與子類別之間的轉換問題

java中父類別與子類別之間的轉換問題

王林
王林轉載
2019-12-17 11:55:543727瀏覽

java中父類別與子類別之間的轉換問題

範例一

父類別強制轉子類別

Father f = new Father();
Son s = (Father)f;//出错 ClassCastException

分析:

建立一個父類別的實例,想要強制把父類別物件轉換成子類別的,不行!通俗的想,真正當爹的永遠不可能裝兒子。

線上學習影片教學分享:java線上教學

範例二

「假的」父類強制轉子類別

Father f = new Son();
Son s = (Son)f;//可以

分析:

父類別物件引用著一個子類別實例。

Son類別特有的屬性暫時不能透過 f 來操作,因為Father類別沒有Son類別(子類別)的特有屬性。

接著創建子類物件s,它引用的是父類物件f 強制轉換來的物件(其實就是個裝爹的Son,把他強制轉回了Son),這時就可以通過s來操作子類別的特有屬性了。

通俗的說就是兒子裝爹,終究是兒子,本質沒變,還是可以把他強制轉回兒子的。

範例三

子類別強制轉父類別

Son s = new Son();
Father f = (Father)s;//可以

分析:

子類別轉換成父類,只是子類別物件的特有屬性無法利用f 操作,f 可以操作其非特有的屬性(由父類別繼承而來的屬性)。

通俗的說,兒子和爹的共同點——“都是人”,兒子是人是從父親繼承而來的,他們都有人的基本行為,只是兒子永遠不可能和父親平輩(子類別類型轉換成父類別類型)。

相關文章教學推薦:java快速入門

#

以上是java中父類別與子類別之間的轉換問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除