国产探花免费观看_亚洲丰满少妇自慰呻吟_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教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 嘉禾县| 白朗县| 阜宁县| 库车县| 英吉沙县| 泉州市| 永城市| 临夏市| 威海市| 丰原市| 颍上县| 河东区| 高安市| 电白县| 奎屯市| 贺兰县| 克拉玛依市| 莆田市| 弋阳县| 侯马市| 土默特右旗| 福州市| 天门市| 和林格尔县| 旬邑县| 汤原县| 思茅市| 桃园县| 泾阳县| 黔西县| 堆龙德庆县| 开封县| 青铜峡市| 洪泽县| 吴川市| 新巴尔虎左旗| 高阳县| 富锦市| 友谊县| 固安县| 留坝县|