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