最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java面向對象程序設計多態(tài)性示例

 更新時間:2018年03月19日 09:39:41   作者:夢想成為大牛!  
這篇文章主要介紹了Java面向對象程序設計多態(tài)性,結合實例形式分析了java多態(tài)性的概念、原理、定義與使用方法及相關注意事項,需要的朋友可以參考下

本文實例講述了Java面向對象程序設計多態(tài)性。分享給大家供大家參考,具體如下:

多態(tài):具有表現(xiàn)多種形態(tài)的能力的特征(同一個實現(xiàn)接口,使用不同的實例而執(zhí)行不同的操作)

實現(xiàn)多態(tài)的優(yōu)點:為了方便統(tǒng)一調用!

實現(xiàn)多態(tài)的三種方式!

1. 子類到父類的轉換:

例:

Dog dog=new Dog("歐歐","雪納瑞");
dog.eat();
Pet pet=new Dog("歐歐","雪納瑞");//子類到父類的轉換
pet.eat();
pet.catchingFlyDisc();//編譯錯誤,父類的引用無法調用子類的特殊方法

規(guī)則:

① 將一個父類的引用指向一個子類對象,稱為向上轉型,自動進行類型轉換

② 此時通過父類引用變量調用的方法是子類覆蓋或繼承父類的方法,不是父類的方法.

③ 此時通過父類引用變量無法調用子類特有的方法!

2. 使用父類作為方法形參實現(xiàn)多態(tài)

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. 使用父類作為方法返回值實現(xiàn)多態(tài)

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;
  }
}

注意:

① 繼承的存在(繼承是多態(tài)的基礎,沒有繼承就沒有多態(tài))

② 子類重寫父類的方法

③ 父類引用變量指向子類對象

更多java相關內容感興趣的讀者可查看本站專題:《Java面向對象程序設計入門與進階教程》、《Java數(shù)據(jù)結構與算法教程》、《Java操作DOM節(jié)點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設計有所幫助。

相關文章

  • java啟動jar包設置啟動參數(shù)的實現(xiàn)

    java啟動jar包設置啟動參數(shù)的實現(xiàn)

    本文主要介紹了java啟動jar包設置啟動參數(shù)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • IntelliJ?IDEA快速查詢maven依賴關系圖文教程

    IntelliJ?IDEA快速查詢maven依賴關系圖文教程

    Maven提供了來查看依賴關系,而IDE往往提供了更加便利的方式,比如Eclipse或者IDEA都有類似的功能,下面這篇文章主要給大家介紹了關于IntelliJ?IDEA快速查詢maven依賴關系的相關資料,需要的朋友可以參考下
    2023-11-11
  • j2Cache線上異常排查問題解決記錄分析

    j2Cache線上異常排查問題解決記錄分析

    這篇文章主要為大家介紹了關于j2Cache線上異常排查的問題解決記錄分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2022-02-02
  • Java實現(xiàn)可配置換膚的方法示例

    Java實現(xiàn)可配置換膚的方法示例

    本文主要介紹了Java實現(xiàn)可配置換膚的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • Java CompletableFuture的使用詳解

    Java CompletableFuture的使用詳解

    這篇文章主要介紹了Java CompletableFuture的使用詳解,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下
    2021-03-03
  • Spring創(chuàng)建IOC容器的方式解析

    Spring創(chuàng)建IOC容器的方式解析

    這篇文章主要介紹了Spring創(chuàng)建IOC容器的方式解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • SpringBoot2.6.x升級后循環(huán)依賴及Swagger無法使用問題

    SpringBoot2.6.x升級后循環(huán)依賴及Swagger無法使用問題

    這篇文章主要為大家介紹了SpringBoot2.6.x升級后循環(huán)依賴及Swagger無法使用問題,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • Java中簡單實用Quartz概述

    Java中簡單實用Quartz概述

    Quartz是一個開源的Java調度框架,可以用來實現(xiàn)在指定的時間或時間間隔觸發(fā)任務執(zhí)行的功能,這篇文章主要介紹了Java中簡單實用Quartz,需要的朋友可以參考下
    2023-02-02
  • spring是如何實現(xiàn)聲明式事務的

    spring是如何實現(xiàn)聲明式事務的

    這篇文章主要介紹了spring是如何實現(xiàn)聲明式事務的,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • java 進程是如何在Linux服務器上進行內存分配的

    java 進程是如何在Linux服務器上進行內存分配的

    這篇文章主要介紹了java 進程是如何在Linux服務器上進行內存分配的,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-11-11

最新評論

平遥县| 鄂伦春自治旗| 贡嘎县| 镇巴县| 承德县| 阜新市| 辽中县| 广安市| 新龙县| 大理市| 河池市| 芜湖市| 绥德县| 柏乡县| 新巴尔虎左旗| 万载县| 廉江市| 霍林郭勒市| 米脂县| 汽车| 南康市| 曲靖市| 太仆寺旗| 明溪县| 三河市| 永济市| 吴堡县| 图木舒克市| 峡江县| 灌南县| 金溪县| 新平| 治多县| 平顶山市| 鹤峰县| 民县| 乐清市| 和田县| 云阳县| 洛阳市| 化德县|