更新時間:2024-04-21 15:01:11 來源:動力節(jié)點 瀏覽2320次
在 Java 中,向上轉(zhuǎn)型和向下轉(zhuǎn)型都是對象類型的轉(zhuǎn)換方式。
向上轉(zhuǎn)型是將一個子類對象轉(zhuǎn)換為它的父類類型,可以理解為子類對象變?yōu)楦割悓ο螅部梢苑Q為自動類型轉(zhuǎn)換。這種轉(zhuǎn)型是安全的,因為子類對象具有父類對象的所有屬性和方法,所以可以直接賦值給父類類型的變量。語法如下:
父類類型 變量名 = new 子類類型();
Animal animal = new Dog();
這里將一個 Dog 對象轉(zhuǎn)換為它的父類 Animal 類型,可以通過 Animal 對象來調(diào)用 Dog 類的方法。
向下轉(zhuǎn)型是將一個父類對象轉(zhuǎn)換為它的子類類型,需要使用強制類型轉(zhuǎn)換符進行轉(zhuǎn)換,也稱為強制類型轉(zhuǎn)換。這種轉(zhuǎn)型是有風險的,因為父類對象可能并不是一個子類對象,如果進行強制類型轉(zhuǎn)換會拋出 ClassCastException 異常。語法如下:
子類類型 變量名 = (子類類型) 父類類型變量名;
Animal animal = new Dog();
Dog dog = (Dog) animal;
這里將一個 Animal 對象轉(zhuǎn)換為它的子類 Dog 類型,如果在運行時發(fā)現(xiàn) animal 實際上不是一個 Dog 對象,就會拋出 ClassCastException 異常。
需要注意的是,向上轉(zhuǎn)型是隱式的,不需要使用強制類型轉(zhuǎn)換符;而向下轉(zhuǎn)型是顯式的,需要使用強制類型轉(zhuǎn)換符,并且需要保證轉(zhuǎn)換的安全性。
相關(guān)閱讀