課程
/后端開發
/Java
/Java入門第二季 升級版
Phone phone1=new Nokia;與Nokia nokia=new Nokia;都可以調用call()跟send(),運行結果也一樣,那這兩者有什么區別與聯系?
2016-01-11
源自:Java入門第二季 升級版 10-3
正在回答
Phone是Nokia和Apple繼承的父類(下面只以Nokia說明)。
Phone phone1=new Nokia這種用法叫做“父類引用指向子類對象”,即聲明的是父類,實際指向的是子類的一個對象。由于Nokia是繼承自它的父類Phone,所以Phone類型的引用是可以指向Nokia類型的對象的。這就是“向上轉型”。
這種用法的優點是使用者可以更關注父類能做什么,而不去關心子類是具體怎么做的。因為子類是對父類的一個改進和擴充,所以一般子類在功能上較父類更強大, 定義一個父類類型的引用指向一個子類的對象既可以使用子類強大的功能,又可以抽取父類的共性。你可以隨時替換一個子類,也就是隨時替換一個具體實現,而不用修改其他。
前者是把子類轉成父類,稱為向上轉型,而不能把父類轉化為子類
舉報
課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙
3 回答兩者的區別
2 回答這兩種有什么區別嗎?
2 回答equals與==有什么區別?
2 回答實例變量跟成員變量有什么區別或者關系
3 回答個人理解關于抽象類和接口的區別與聯系,
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-01-11
Phone是Nokia和Apple繼承的父類(下面只以Nokia說明)。
Phone phone1=new Nokia這種用法叫做“父類引用指向子類對象”,即聲明的是父類,實際指向的是子類的一個對象。由于Nokia是繼承自它的父類Phone,所以Phone類型的引用是可以指向Nokia類型的對象的。這就是“向上轉型”。
這種用法的優點是使用者可以更關注父類能做什么,而不去關心子類是具體怎么做的。因為子類是對父類的一個改進和擴充,所以一般子類在功能上較父類更強大, 定義一個父類類型的引用指向一個子類的對象既可以使用子類強大的功能,又可以抽取父類的共性。你可以隨時替換一個子類,也就是隨時替換一個具體實現,而不用修改其他。
2016-01-11
前者是把子類轉成父類,稱為向上轉型,而不能把父類轉化為子類