本文實例講述了Java面向對象程序設計多態性。分享給大家供大家參考,具體如下:
站在用戶的角度思考問題,與客戶深入溝通,找到尼瀘西網站設計與尼瀘西網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創造個性化、用戶體驗好的作品,建站類型包括:成都網站設計、成都網站制作、企業官網、英文網站、手機端網站、網站推廣、主機域名、雅安服務器托管、企業郵箱。業務覆蓋尼瀘西地區。
多態:具有表現多種形態的能力的特征(同一個實現接口,使用不同的實例而執行不同的操作)
實現多態的優點:為了方便統一調用!
實現多態的三種方式!
1. 子類到父類的轉換:
例:
Dog dog=new Dog("歐歐","雪納瑞"); dog.eat(); Pet pet=new Dog("歐歐","雪納瑞");//子類到父類的轉換 pet.eat(); pet.catchingFlyDisc();//編譯錯誤,父類的引用無法調用子類的特殊方法
規則:
① 將一個父類的引用指向一個子類對象,稱為向上轉型,自動進行類型轉換
② 此時通過父類引用變量調用的方法是子類覆蓋或繼承父類的方法,不是父類的方法.
③ 此時通過父類引用變量無法調用子類特有的方法!
2. 使用父類作為方法形參實現多態
public class Master { private String name = ""; private int money = 0; public Master(String name, int money) { this.name = name; this.money = money; } public void feed(Pet pet) { pet.eat(); } public void feed(Dog dog) { dog.eat(); } public void feed(Penguin pen) { pen.eat(); } } public class Test() { public static void main(String[] args) { Master master = new Master("王先生", 100); Pet pet = new Dog("歐歐", "雪納瑞"); master.feed(pet); } }
3. 使用父類作為方法返回值實現多態
public class Master{ private String name = ""; private int money = 0; public Pet getPet(int id) { Pet pet=null; if(id==1) { pet=new Dog("歐歐","雪納瑞") } else if(id==2) { pet=new Penguin("娜娜","帝企鵝"); } return pet; } }
注意:
① 繼承的存在(繼承是多態的基礎,沒有繼承就沒有多態)
② 子類重寫父類的方法
③ 父類引用變量指向子類對象
更多java相關內容感興趣的讀者可查看本站專題:《Java面向對象程序設計入門與進階教程》、《Java數據結構與算法教程》、《Java操作DOM節點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設計有所幫助。
網站標題:Java面向對象程序設計多態性示例
新聞來源:http://m.kartarina.com/article4/ppppoe.html
成都網站建設公司_創新互聯,為您提供網站建設、移動網站建設、網站設計公司、全網營銷推廣、App設計、電子商務
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯