課程
/后端開發(fā)
/Java
/Java入門第二季
在創(chuàng)建cell和smartphone對象時都是聲明的telphone對象,是否能用子類申明?有什么區(qū)別呢?
2018-12-04
源自:Java入門第二季 10-3
正在回答
按你的描述,telephone應(yīng)該是父類,cell和smartphone是繼承了cell的其子類。
以下,我將你說的例子,抽象為java中的類來說明。
我理解的你的問題是:父類引用指向其子類對象,子類引用指向本類對象,其區(qū)別是什么?
用子類引用指向本類對象
telephone?t1?=?new?telephone(); cell?t2?=?new?cell(); smartphone?t3?=?new?smartphone();
這是最原始的用法。引用和聲明的類型是相同的,此時通過引用可以調(diào)用對象中所有的public屬性和方法。
? 2.用父類引用指向其子類對象
telephone?t1?=?new?cell(); telephone?t2?=?new?smartphone();
視頻中是以抽象類的形式演示這個關(guān)系的。
用父對象引用來指向(聲明)其子類對象,
那么通過這個父類引用僅能調(diào)用子類從父類中繼承或重寫的public方法和屬性,
而無法調(diào)用子類新聲明(即子類中有,父類中沒有)的任何方法和屬性。
神毓藏玄 提問者
舉報
課程升級!以終為始告別枯燥,在開發(fā)和重構(gòu)中體會Java面向?qū)ο缶幊痰膴W妙
2 回答類對象與類的對象區(qū)別
1 回答對于靜態(tài)內(nèi)部類聲明對象。
3 回答和實例對象的區(qū)別
2 回答對象和成員變量有什么區(qū)別?
2 回答聲明變量賦值和用初始化塊賦值的區(qū)別
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2018-12-04
按你的描述,telephone應(yīng)該是父類,cell和smartphone是繼承了cell的其子類。
以下,我將你說的例子,抽象為java中的類來說明。
我理解的你的問題是:父類引用指向其子類對象,子類引用指向本類對象,其區(qū)別是什么?
用子類引用指向本類對象
這是最原始的用法。引用和聲明的類型是相同的,此時通過引用可以調(diào)用對象中所有的public屬性和方法。
? 2.用父類引用指向其子類對象
視頻中是以抽象類的形式演示這個關(guān)系的。
用父對象引用來指向(聲明)其子類對象,
那么通過這個父類引用僅能調(diào)用子類從父類中繼承或重寫的public方法和屬性,
而無法調(diào)用子類新聲明(即子類中有,父類中沒有)的任何方法和屬性。