更新時間:2019-09-16 16:46:27 來源:動力節點 瀏覽4007次
今天動力節點java培訓機構小編為大家介紹“詳解java多態向上轉型和向下轉型”,希望通過此文大家能夠掌握java多態向上轉型和向下轉型,下面就隨小編一起看看java多態向上轉型和向下轉型。
1、 方法的多態性:
重載overload(返回值類型,參數類型,數目不同,且定義在同一個類中)、重寫overide(子類與父類中,相同的方法名,不同的方法體);
2、 對象的多態性:父子類對象的轉換;
向上轉型:子類對象變為父類對象,父類 父類對象 = 子類實例,自動轉換;
用法: Father f = new Son();
向下轉型:父類對象變成子類對象,子類 子類對象 = (子類) 父類實例,強制轉換;
Father f = new Son();
Son s = (Son)f; //必須要先有向上轉型,才能向下轉型
舉例:Father是父類,Son是子類
Father f1 = new Son(); // 這就叫 upcasting (向上轉型), 現在f1引用指向一個Son對象
Son s1 = (Son) f1; // 這就叫 downcasting (向下轉型),現在f1還是指向Son對象
舉例:Father是父類,Son是子類
Father f2 = new Father();
Son s2 = (Son) f2; // 編譯不出錯,運行時出錯(除非子類和父類擁有相同的屬性和方法),子類引用不能指向父類對象
注:
向上轉型,父類實例只能調用父類與子類共同的成員方法,成員變量只能調用父類的,子類獨有的實例變量與實例方法將不能調用,且變量值是父類的,方法的執行方法體是子類的。
向下轉型,前提是有向上轉型,此時對象能夠調用子類的成員變量以及獨有的成員方法。
例如:Father f1 = new Son(); Son s1 = (Son) f1; 其實就相當于Son s1 = new Son();
以上就是動力節點java培訓機構小編為大家介紹的“詳解java多態向上轉型和向下轉型”的內容,希望對大家有幫助,更多java最新資訊請繼續關注動力節點java培訓機構官網,每天會有精彩內容分享與你。
相關免費視頻教程推薦——java初級入門教程下載
java多態中的向上轉型:http://www.dabaquan.cn/xiazai/2600.html
java多態中的向下轉型:http://www.dabaquan.cn/xiazai/2599.html
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習