第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Java里多態(tài)在代碼里是如何實(shí)現(xiàn)父類引用指向子類對(duì)象的,沒(méi)有繼承為何不行?

Java里多態(tài)在代碼里是如何實(shí)現(xiàn)父類引用指向子類對(duì)象的,沒(méi)有繼承為何不行?

詭圣 2016-12-28 15:05:30
//定義一個(gè)Animal類,Cat類繼承Animal。 public?class?Animal?{ String?str; public?void?voice(){ System.out.println("普通動(dòng)物的叫聲!"); } } class?Cat?extends?Animal{ public?void?voice(){ System.out.println("喵喵喵"); } public?void?catchMouse(){ System.out.println("抓老鼠"); } }public?class?Test?{ public?static?void?testAnimalVoice(Animal?a){ a.voice(); } public?static?void?main(String[]?args){ Animal?a?=?new?Cat(); testAnimalVoice(a); } }Animal?a?=?new?Cat();相當(dāng)于Cat?c?=?new?Cat();? Animal?a?=?c;按我的理解:加載Cat類,建立局部變量c用于存放地址,然后新建了一個(gè)以Cat為模版的對(duì)象,把這個(gè)對(duì)象的地址賦給c;加載Animal類,建局部變量a,把c的值賦給a。我的問(wèn)題:把c的值賦給a的過(guò)程中為何需要繼承,假如Cat類沒(méi)有繼承Animal類,Animal a = c照樣是局部變量的值傳遞啊,為何賦不了值???!?。?
查看完整描述

2 回答

已采納
?
揚(yáng)帆_起航

TA貢獻(xiàn)3條經(jīng)驗(yàn) 獲得超0個(gè)贊

首先我要告訴你java是強(qiáng)類型語(yǔ)言,多態(tài)的前提是:繼承,重寫,父類引用指向子類對(duì)象。其次,雖然你的意思是我將地址賦值過(guò)去,可是如果沒(méi)有繼承,這兩個(gè)類就沒(méi)有關(guān)系,就相當(dāng)于你將一個(gè)srting類型的字符串非得賦值給一個(gè)int類型,這在java中是不成立的。子類和父類其實(shí)就是兩個(gè)類型,只有兩個(gè)類有了繼承關(guān)系,才能進(jìn)行相互的轉(zhuǎn)換,也就是你說(shuō)的地址賦值(可以這么理解)。
查看完整回答
反對(duì) 回復(fù) 2016-12-28
?
蜂之谷

TA貢獻(xiàn)564條經(jīng)驗(yàn) 獲得超863個(gè)贊

多態(tài)的條件:

1.繼承

2.重寫

3.父類引用指向子類對(duì)象(向上轉(zhuǎn)型)

查看完整回答
反對(duì) 回復(fù) 2016-12-28
  • 2 回答
  • 0 關(guān)注
  • 2269 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)