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

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

將子類(lèi)分配給類(lèi),反之亦然

將子類(lèi)分配給類(lèi),反之亦然

蕪湖不蕪 2023-02-23 11:19:10
我有這個(gè)練習(xí):public class TestClass{        public static void main(String args[]){               A[] a, a1;               B[] b;               a = new A[10];         a1  = a;               b =  new B[20];               a = b;  // 1               b = (B[]) a;  // 2               b = (B[]) a1; // 3        } } class A { } class B extends A { } 在我看來(lái),當(dāng)我寫(xiě):a=b 時(shí),我正在為 b 中的對(duì)象分配另一個(gè)引用 (a)。實(shí)際上,b 中的對(duì)象有兩個(gè)引用(a 和 b)。但是,對(duì)于繼承規(guī)則,子類(lèi)也是父類(lèi)類(lèi)型,但父類(lèi)不是子類(lèi)類(lèi)型。如何將超類(lèi)引用 (a) 分配給子類(lèi)類(lèi)型 (b)?這也適用于后續(xù)分配。在我看來(lái),如果我這樣寫(xiě):b=a,代碼將毫無(wú)問(wèn)題地編譯,但是對(duì)于賦值 a=b,應(yīng)該會(huì)出現(xiàn)編譯錯(cuò)誤。為什么這個(gè)分配是正確的?
查看完整描述

1 回答

?
翻過(guò)高山走不出你

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

假設(shè) A 類(lèi)是 Animal 類(lèi),B 類(lèi)是 Dog 類(lèi)。您可以創(chuàng)建一種動(dòng)物,即狗 (a = b),因?yàn)楣肥莿?dòng)物(子類(lèi))。但這并不適用于相反的方式 (b = a),因?yàn)閯?dòng)物可以不僅僅是狗,例如貓,所以你不能將貓指定為狗。因此,要做到這一點(diǎn),您必須明確地將 Animal 轉(zhuǎn)換為 Dog (b = (Dog) a)。



查看完整回答
反對(duì) 回復(fù) 2023-02-23
  • 1 回答
  • 0 關(guān)注
  • 138 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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