在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java/ 關(guān)于超類轉(zhuǎn)換為子類問題

關(guān)于超類轉(zhuǎn)換為子類問題

超類轉(zhuǎn)換為子類,應(yīng)該用instanceof檢查。即
if(超類instanceof子類)
{進(jìn)行轉(zhuǎn)換}

可是 超類instanceof子類 是不是都返回false啊?這樣子不是不能進(jìn)行轉(zhuǎn)換了嗎?

回答
編輯回答
失心人

instanceof 檢查的是值的類型。即使那個(gè)值來自一個(gè) Object變量,該true時(shí)還會(huì)得到true。

2018年1月9日 15:06
編輯回答
蟲児飛

你對(duì)instanceof的理解有誤,可以參考 捏造的信仰 的回答,類和實(shí)例的概念也有點(diǎn)混淆, a instanceof B 是為了弄清實(shí)例 a 到底是不是 B 類型,可以看下面向?qū)ο罄镱^的『多態(tài)』概念

2017年9月26日 14:58
編輯回答
離殤

如果是為了申明類型,不建議用繼承,用接口.

2018年1月2日 02:19
編輯回答
單眼皮

這個(gè)比較不是類和類之間的比較,而是一個(gè)變量的聲明類型和實(shí)際類型之間的比較。比如 A 是 B 的父類(或超類),某個(gè)變量 a 被聲明為 A 類型,但它實(shí)際上可能是 B 類型。a instanceof B 就是為了弄清 a 到底是不是 B 類型。

2018年7月28日 18:36