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

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

父類明明沒有子類擴(kuò)展出來的變量d e f 怎么也可以轉(zhuǎn)型成功?

父類明明沒有子類擴(kuò)展出來的變量d e f 怎么也可以轉(zhuǎn)型成功?

慕斯709654 2023-04-24 18:14:15
比如 這個(gè)例子:class Test implements Cloneable{Test o=null;String name;Test(String name){this.name=name;}public Test clone(){try{o=(Test)super.clone(); //這里只是復(fù)制了 父類?}catch(Exception e){System.out.println(e.toString());}return o;}}這個(gè)super.clone 克隆了也只是父類的?。?那么子類拓展出來的那些變量都沒克隆,那為什么結(jié)果里, 卻是都克隆了。比如 我一個(gè) 父類有變量 a b c 我子類添加了 d e f , 那么,用super.clone()的時(shí)候不是 就復(fù)制了 a b c 嗎? 那么我子類的 d e f 都沒復(fù)制啊, 為什么 結(jié)果出來的時(shí)候, 子類里的 d e f 也被克隆了? 換句話就是說,為什么這里可以把向下轉(zhuǎn)型。 
查看完整描述

2 回答

?
largeQ

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

super.clone()是這個(gè)意思,super.clone()調(diào)用子類繼承父類的那個(gè)方法,是子類中的方法,而不是父類中的方法,子類會(huì)繼承父類中的所有東西。為什么要用super標(biāo)記呢?因?yàn)槟阒匦聦?shí)現(xiàn)了clone方法,作為區(qū)分,用super標(biāo)記從父類中繼承過來的那個(gè)clone方法。而由于Java中的多態(tài)性,當(dāng)子類實(shí)例使用clone方法是,顯然會(huì)調(diào)用子類中的clone,所以會(huì)將abcdef全部復(fù)制,而不是僅僅復(fù)制父類的那一部分。而且Object類的clone方法是protected,子類中根本不能調(diào)用父類中的這個(gè)方法,只能調(diào)用從父類中繼承來的這個(gè)方法。

查看完整回答
反對(duì) 回復(fù) 2023-04-27
?
交互式愛情

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

實(shí)現(xiàn)了Cloneable接口,這是一個(gè)標(biāo)記,證明這個(gè)類可以被克隆,并可以調(diào)用Object的clone方法,而super.clone()正是克隆當(dāng)前對(duì)象,這里的super.指的是調(diào)用父類的clone方法,實(shí)現(xiàn)淺克隆,即只clone當(dāng)前對(duì)象而不clone當(dāng)前對(duì)象的子對(duì)象。至于clone方法的實(shí)現(xiàn),具體沒了解過,只知道利用反射機(jī)制實(shí)現(xiàn)的,可以完全復(fù)制當(dāng)前對(duì)象,但是由于返回值是Object,所以需要強(qiáng)轉(zhuǎn)類型

查看完整回答
反對(duì) 回復(fù) 2023-04-27
  • 2 回答
  • 0 關(guān)注
  • 159 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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