Java面向?qū)ο蟪绦蛟O(shè)計(jì)多態(tài)性示例

本文實(shí)例講述了Java面向?qū)ο蟪绦蛟O(shè)計(jì)多態(tài)性。分享給大家供大家參考,具體如下:

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到尼瀘西網(wǎng)站設(shè)計(jì)與尼瀘西網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、主機(jī)域名雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋尼瀘西地區(qū)。

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

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

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

1. 子類到父類的轉(zhuǎn)換:

例:

Dog dog=new Dog("歐歐","雪納瑞");
dog.eat();
Pet pet=new Dog("歐歐","雪納瑞");//子類到父類的轉(zhuǎn)換
pet.eat();
pet.catchingFlyDisc();//編譯錯(cuò)誤,父類的引用無(wú)法調(diào)用子類的特殊方法

規(guī)則:

① 將一個(gè)父類的引用指向一個(gè)子類對(duì)象,稱為向上轉(zhuǎn)型,自動(dòng)進(jìn)行類型轉(zhuǎn)換

② 此時(shí)通過(guò)父類引用變量調(diào)用的方法是子類覆蓋或繼承父類的方法,不是父類的方法.

③ 此時(shí)通過(guò)父類引用變量無(wú)法調(diào)用子類特有的方法!

2. 使用父類作為方法形參實(shí)現(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. 使用父類作為方法返回值實(shí)現(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)的基礎(chǔ),沒(méi)有繼承就沒(méi)有多態(tài))

② 子類重寫父類的方法

③ 父類引用變量指向子類對(duì)象

更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java面向?qū)ο蟪绦蛟O(shè)計(jì)入門與進(jìn)階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》

希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。

網(wǎng)站標(biāo)題:Java面向?qū)ο蟪绦蛟O(shè)計(jì)多態(tài)性示例
新聞來(lái)源:http://muchs.cn/article4/ppppoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)公司、全網(wǎng)營(yíng)銷推廣App設(shè)計(jì)、電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)