Java對(duì)象強(qiáng)制類(lèi)型轉(zhuǎn)換的規(guī)則如下:
只有相互兼容的類(lèi)型之間才能進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換。例如,可以將一個(gè)父類(lèi)對(duì)象轉(zhuǎn)換為子類(lèi)對(duì)象,但不能將一個(gè)子類(lèi)對(duì)象轉(zhuǎn)換為父類(lèi)對(duì)象。
強(qiáng)制類(lèi)型轉(zhuǎn)換需要使用強(qiáng)制類(lèi)型轉(zhuǎn)換符()來(lái)表示,將要轉(zhuǎn)換的對(duì)象放在括號(hào)內(nèi)。
如果進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換時(shí),對(duì)象的實(shí)際類(lèi)型與要轉(zhuǎn)換的目標(biāo)類(lèi)型不兼容,會(huì)拋出ClassCastException異常。
強(qiáng)制類(lèi)型轉(zhuǎn)換只能在繼承關(guān)系中進(jìn)行,即只能將子類(lèi)對(duì)象轉(zhuǎn)換為父類(lèi)對(duì)象,不能將無(wú)關(guān)類(lèi)之間的對(duì)象進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換。
強(qiáng)制類(lèi)型轉(zhuǎn)換會(huì)丟失一部分信息,因?yàn)槟繕?biāo)類(lèi)型的方法和成員變量可能無(wú)法訪問(wèn)。
強(qiáng)制類(lèi)型轉(zhuǎn)換是一種潛在的風(fēng)險(xiǎn)操作,需要在轉(zhuǎn)換之前進(jìn)行類(lèi)型檢查,以確保轉(zhuǎn)換的安全性。