亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java面向對象程序設計多態性示例

發布時間:2020-09-01 04:48:53 來源:腳本之家 閱讀:182 作者:夢想成為大牛! 欄目:編程語言

本文實例講述了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程序設計有所幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

洪泽县| 云阳县| 龙泉市| 舞阳县| 菏泽市| 安康市| 江城| 独山县| 龙川县| 民权县| 新平| 阳信县| 陕西省| 临高县| 宜宾市| 利辛县| 余庆县| 灵丘县| 寻乌县| 景洪市| 宁河县| 鹰潭市| 钟祥市| 陆丰市| 探索| 东乡族自治县| 海盐县| 平湖市| 忻州市| 右玉县| 原阳县| 宁海县| 健康| 永寿县| 百色市| 武隆县| 鄂尔多斯市| 绍兴县| 马山县| 永宁县| 郯城县|