課程
/后端開發(fā)
/Java
/Java入門第二季
引用多態(tài)與類型轉(zhuǎn)換的區(qū)別
2016-05-13
源自:Java入門第二季 10-2
正在回答
代碼一: Animal?dog?=?new?Dog(); Animal?animal?=?dog; 代碼二 Animal?animal?=?new?Dog(); 代碼一與代碼二結(jié)果一樣,區(qū)別在于代碼一可以使用強(qiáng)轉(zhuǎn),代碼二用的JAVA的多態(tài)性
Animal obj2=new Dog(); 這其實(shí)也是向上轉(zhuǎn)型,Dog是Animal的子類,Animai是Dog的父類
這個(gè)跟數(shù)據(jù)類型轉(zhuǎn)換差不多、int 轉(zhuǎn) double 可以、但 double 轉(zhuǎn) int 是不可以直接轉(zhuǎn)換的、需要強(qiáng)制轉(zhuǎn)換、理解偶讀是一樣的、
我也是初學(xué)者,三天前才開始看教程,我說下我的理解,你可以參考一下,不保證正確
多態(tài)就是指一個(gè)對(duì)象的多種狀態(tài),如,一條狗,你可以說它是一只動(dòng)物,也可以說它是一只生物,狗、動(dòng)物、生物都可以形容它,表示狗有以上三種(描敘)形態(tài)
再如,柏樹,也可以說它是一種植物,一種生物,也是數(shù)的三種形態(tài)
向上級(jí)轉(zhuǎn)換:一只狗可以說它是一只動(dòng)物,一只生物
向下級(jí)轉(zhuǎn)換:拿狗舉列,生物 花狗=new 狗();定義了一只狗,但是它的類型是生物,雖然他是用狗()來實(shí)例化的,現(xiàn)在問題出來了,向下級(jí)轉(zhuǎn)換是有風(fēng)險(xiǎn)的,你需要判斷它到底是 什么類里的才可以轉(zhuǎn)換為那個(gè)類,我們實(shí)例化的花狗(定義類型是生物)可以轉(zhuǎn)換為動(dòng)物、狗類型,但是不能轉(zhuǎn)換為植物、柏樹類型
舉報(bào)
課程升級(jí)!以終為始告別枯燥,在開發(fā)和重構(gòu)中體會(huì)Java面向?qū)ο缶幊痰膴W妙
4 回答為什么要引用父類指向子類對(duì)象呢,這樣做與直接引用子類指向子類對(duì)象有什么區(qū)別?也就是Animal obj2 = new Dog();和Dog obj2= new Dog();的區(qū)別是什么?
5 回答為什么Animal animal = dog 是向上類型轉(zhuǎn)換?
1 回答Animal animal = dog;//向下類型轉(zhuǎn)換 自動(dòng)類型轉(zhuǎn)換 ???
3 回答Animal animal=new Dog()和Animal animal=dog有區(qū)別嗎?
6 回答Animal obj2 = new Dog();
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2016-07-27
2016-05-24
Animal obj2=new Dog(); 這其實(shí)也是向上轉(zhuǎn)型,Dog是Animal的子類,Animai是Dog的父類
2016-05-18
這個(gè)跟數(shù)據(jù)類型轉(zhuǎn)換差不多、int 轉(zhuǎn) double 可以、但 double 轉(zhuǎn) int 是不可以直接轉(zhuǎn)換的、需要強(qiáng)制轉(zhuǎn)換、理解偶讀是一樣的、
2016-05-13
我也是初學(xué)者,三天前才開始看教程,我說下我的理解,你可以參考一下,不保證正確
多態(tài)就是指一個(gè)對(duì)象的多種狀態(tài),如,一條狗,你可以說它是一只動(dòng)物,也可以說它是一只生物,狗、動(dòng)物、生物都可以形容它,表示狗有以上三種(描敘)形態(tài)
再如,柏樹,也可以說它是一種植物,一種生物,也是數(shù)的三種形態(tài)
向上級(jí)轉(zhuǎn)換:一只狗可以說它是一只動(dòng)物,一只生物
向下級(jí)轉(zhuǎn)換:拿狗舉列,生物 花狗=new 狗();定義了一只狗,但是它的類型是生物,雖然他是用狗()來實(shí)例化的,現(xiàn)在問題出來了,向下級(jí)轉(zhuǎn)換是有風(fēng)險(xiǎn)的,你需要判斷它到底是 什么類里的才可以轉(zhuǎn)換為那個(gè)類,我們實(shí)例化的花狗(定義類型是生物)可以轉(zhuǎn)換為動(dòng)物、狗類型,但是不能轉(zhuǎn)換為植物、柏樹類型