国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

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

2024-07-14 08:40:12
字體:
來源:轉載
供稿:網友

本文實例講述了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教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 家居| 朝阳县| 中超| 酒泉市| 芜湖县| 乌苏市| 兴城市| 嘉荫县| 谢通门县| 延边| 民县| 潞城市| 青田县| 泗水县| 荥经县| 嫩江县| 五大连池市| 西畴县| 宜君县| 潜山县| 上栗县| 浮山县| 都安| 麻城市| 西贡区| 怀来县| 无棣县| 大兴区| 余庆县| 皮山县| 锦州市| 通许县| 文化| 神池县| 连州市| 滕州市| 托克托县| 大化| 朝阳市| 溧水县| 无为县|