小編這次要給大家分享的是JAVA中如何實現(xiàn)父類與子類轉換,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
目前創(chuàng)新互聯(lián)已為1000+的企業(yè)提供了網(wǎng)站建設、域名、網(wǎng)頁空間、網(wǎng)站托管維護、企業(yè)網(wǎng)站設計、武漢網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(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)父類與子類轉換
分享網(wǎng)址:http://www.jbt999.com/article38/jjessp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、、網(wǎng)站改版、關鍵詞優(yōu)化、網(wǎng)站收錄、網(wǎng)站內鏈
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)