Java物件導向程式設計多態性樣本,

來源:互聯網
上載者:User

Java物件導向程式設計多態性樣本,

本文執行個體講述了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程式設計有所協助。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.