亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

引用多態的父類引用可以指向子類的對象,如Animal obj2=new Dog();,和向上類型轉換,如Animal animal=dog;,怎么區別?

引用多態與類型轉換的區別


正在回答

4 回答

代碼一:
Animal?dog?=?new?Dog();
Animal?animal?=?dog;


代碼二
Animal?animal?=?new?Dog();


代碼一與代碼二結果一樣,區別在于代碼一可以使用強轉,代碼二用的JAVA的多態性


0 回復 有任何疑惑可以回復我~

Animal obj2=new Dog(); 這其實也是向上轉型,Dog是Animal的子類,Animai是Dog的父類


1 回復 有任何疑惑可以回復我~

這個跟數據類型轉換差不多、int 轉 double 可以、但 double 轉 int 是不可以直接轉換的、需要強制轉換、理解偶讀是一樣的、

1 回復 有任何疑惑可以回復我~

我也是初學者,三天前才開始看教程,我說下我的理解,你可以參考一下,不保證正確

多態就是指一個對象的多種狀態,如,一條狗,你可以說它是一只動物,也可以說它是一只生物,狗、動物、生物都可以形容它,表示狗有以上三種(描敘)形態

再如,柏樹,也可以說它是一種植物,一種生物,也是數的三種形態

向上級轉換:一只狗可以說它是一只動物,一只生物

向下級轉換:拿狗舉列,生物 花狗=new 狗();定義了一只狗,但是它的類型是生物,雖然他是用狗()來實例化的,現在問題出來了,向下級轉換是有風險的,你需要判斷它到底是 什么類里的才可以轉換為那個類,我們實例化的花狗(定義類型是生物)可以轉換為動物、狗類型,但是不能轉換為植物、柏樹類型

2 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

引用多態的父類引用可以指向子類的對象,如Animal obj2=new Dog();,和向上類型轉換,如Animal animal=dog;,怎么區別?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號