為什么Cat類型不能轉(zhuǎn)換成Animal類型?為什么說animal不含cat類型的元素?可是cat不是animal的子類,繼承了animal的所有屬性和方法嗎?
為什么Cat類型不能轉(zhuǎn)換成Animal類型?為什么說animal不含cat類型的元素?可是cat不是animal的子類,繼承了animal的所有屬性和方法嗎?
為什么Cat類型不能轉(zhuǎn)換成Animal類型?為什么說animal不含cat類型的元素?可是cat不是animal的子類,繼承了animal的所有屬性和方法嗎?
2016-04-16
舉報(bào)
2016-12-07
為什么說Cat類型不能轉(zhuǎn)換成Animal類型,因?yàn)镈og dog = new Dog(); ? ??Animal animal = dog; ? Dog dog2 = (Dog)animal這三段代碼告訴你 dog已經(jīng)強(qiáng)轉(zhuǎn)為animal; 如果此刻你再把Cat強(qiáng)轉(zhuǎn)為animal,就相當(dāng)于把Cat強(qiáng)轉(zhuǎn)為dog,子類強(qiáng)轉(zhuǎn)子類,所以就錯(cuò)了! ? 看下面圖片,這樣就可以將Cat轉(zhuǎn)化為Animal類型。。。如果還不明白,自己試試代碼就明白了
2016-08-25
視頻里最后是將cat轉(zhuǎn)成dog呀
2016-07-10
Cat類是可以轉(zhuǎn)換成Animal類的;
現(xiàn)在的animal實(shí)際上是Dog類的,類型是和Dog相同的,所以animal不含Cat類,所以不能轉(zhuǎn)換成Cat類
2016-06-08
最后那一句漏了兩個(gè)括號(hào),重新寫一下以免誤導(dǎo):Cat()和Dog()是沒有關(guān)聯(lián)的,所以不能轉(zhuǎn)換
2016-06-08
我也是新手,不保證對(duì),我是這樣理解的:
Dog dog=new Dog();創(chuàng)建對(duì)象引用Dog()這個(gè)子類;把這個(gè)類賦給dog,類型還是Dog類;但這個(gè)類新開辟了地址,而Animal animal=dog把Dog()這個(gè)類賦給了animal,animal的類型是Animal(因?yàn)镈og()是Animal()的子類,就像一條河的支流,本質(zhì)上還是Animal()的一部分,所以可以轉(zhuǎn)換),而Dog dog2=(Dog)animal;
把a(bǔ)nimal賦給dog2,類型是Dog,也就是說這里實(shí)質(zhì)上就是dog2=dog,dog是Dog類,所以可以轉(zhuǎn)換。而Cat cat=(Cat)animal;上面說了Dog()類被引用過來命名為dog,而dog又命名為animal,只是類型變了,也就是說,animal=Dog();也就是說這里我們把Dog()賦給cat,類型轉(zhuǎn)變?yōu)镃at類型,那么問題來了,Cat類型是Cat()的類型,Cat()和和Dog是沒有關(guān)聯(lián)的,所以不能轉(zhuǎn)換
2016-06-06
你們?cè)谡f些什么啊
2016-06-06
我覺得如果你開辟?Cat cat=new cat; 就可以了
2016-05-11
視頻有一個(gè)父類對(duì)象,并沒有用new關(guān)鍵字開辟內(nèi)存空間,但是子類Dog類創(chuàng)建對(duì)象的時(shí)候使用new關(guān)鍵字開辟了內(nèi)存空間,父類對(duì)象只是像指針一樣指向了子類Dog的對(duì)象,也就是引用。那么animal對(duì)象實(shí)際上還是Dog類對(duì)象,當(dāng)強(qiáng)制轉(zhuǎn)換animal對(duì)象的時(shí)候?qū)嶋H上轉(zhuǎn)換的Dog類的對(duì)象,所以animal對(duì)象不能強(qiáng)制轉(zhuǎn)換成Cat類。強(qiáng)制轉(zhuǎn)換與方法和屬性沒有關(guān)系,與內(nèi)存類型有關(guān)。這是我的理解,希望能幫到你。
2016-04-18
因?yàn)樵趧傞_始申明了Animal animal= dog; ? ?animal開辟的是dog 空間,即使你強(qiáng)制轉(zhuǎn)換 ?Cat cat=(Cat) animal;
系統(tǒng)不報(bào)錯(cuò),。但最后運(yùn)行 的時(shí)候 ? cat 并不能與dog 相兼容
2016-04-16
是不是在程序中再加一條“Animal animal=cat;“語句就可以將cat類型轉(zhuǎn)換成animal類型了?