這篇文章主要介紹java多態(tài)的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
首先來看這樣的一段代碼,其中對于類的定義如下:
class Parent{ public int myValue=100; public void printValue() { System.out.println("Parent.printValue(),myValue="+myValue); } } class Child extends Parent{ public int myValue=200; public void printValue() { System.out.println("Child.printValue(),myValue="+myValue); } }
我們來一個一個的回答問題:
1.運行結果如圖
2.對于這個運行結果的解釋,第一行第二行都是正常的調用,第三行中,將child賦給了parent 再進行的輸出,這時候我們發(fā)現(xiàn)結果變成了200 并且輸出語句也變了。
第四句,執(zhí)行了parent.myValue++;但結果并沒有改變。第五行中,將parent類強行轉換為子類后又進行了自增,結果變成了201.
3.對于這里的分析,我們發(fā)現(xiàn)子類賦值給父類是沒有問題的,也就是說子類完全可以直接轉換成父類。第四行的語句結果還是200,說明他對于myValue的++還是調用了父類中的Value,但最后還是輸出了子類的Value.說明子類賦給父類后,只是一部分替代,并不是完全覆蓋。第五句里,將父類轉換成子類然后進行++,第四句第五句結合起來,可以說明子類賦值給父類,并不是所謂的覆蓋,只是把原本的東西給隱藏了罷了。而強制轉換后則不同,直接變成了子類。
最后,這其實告訴我們在實際應用中,我們不應該把父類和子類設置成相同的源代碼和成員變量,對于程序員在編程時的理解十分不利。
以上是“java多態(tài)的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)網站建設公司行業(yè)資訊頻道!
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)建站www.chinadenli.net,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
本文名稱:java多態(tài)的示例分析-創(chuàng)新互聯(lián)
瀏覽路徑:http://www.chinadenli.net/article18/dsgjgp.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)網站制作、網站收錄、標簽優(yōu)化、網站設計公司、搜索引擎優(yōu)化、定制網站
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容