小編這次要給大家分享的是JAVA中如何實現(xiàn)父類與子類轉換,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
目前創(chuàng)新互聯(lián)已為1000+的企業(yè)提供了網站建設、域名、網頁空間、網站托管維護、企業(yè)網站設計、武漢網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
JAVA語言中, 對象變量是多態(tài)的
那反過來可不可以呢
答案是取決于父類變量引用的是誰
如果父類變量引用的是子類對象的實例, 可以通過強轉被子類變量引用
如果父類變量引用的是父類對象的實例,則不能被為子類變量引用
上代碼舉例子(本篇一直用這兩個類舉例子,main測試不同):
一個Father類
package test; public class Father { int fatherA; Father(int a) { fatherA=a; } }
一個Son類
package test; public class Son extends Father { int sonB; Son(int a,int b) { super(a); sonB=b; } }
package test; public class MainTest { public static void main(String[] args) { Son son1=new Son(1, 2); Father father1=son1; //子類對象被父類變量引用 System.out.println(father1.fatherA); } }
結果: 賦值成功!
package test; public class MainTest { public static void main(String[] args) { Father father2=new Son(1, 2); //父類引用了子類對象的實例 Son son2=(Son)father2; System.out.println(son2.sonB); } }
結果:轉換成功!
這里注意即使引用的是子類實例轉換成子類也需要強轉, 否則會報錯
package test; public class MainTest { public static void main(String[] args) { Father father2=new Father(1); //父類引用了子類對象的實例 Son son2=(Son)father2; System.out.println(son2.sonB); } }
結果:失敗!
看完這篇關于JAVA中如何實現(xiàn)父類與子類轉換的文章,如果覺得文章內容寫得不錯的話,可以把它分享出去給更多人看到。
當前名稱:JAVA中如何實現(xiàn)父類與子類轉換
分享網址:http://jinyejixie.com/article38/jjessp.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、、網站改版、關鍵詞優(yōu)化、網站收錄、網站內鏈
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)