一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

運(yùn)行時(shí)實(shí)現(xiàn)Java的多態(tài)性

運(yùn)行時(shí)多態(tài)性是面向?qū)ο蟪绦蛟O(shè)計(jì)代碼重用的一個(gè)最強(qiáng)大機(jī)制,動(dòng)態(tài)性的概念也可以被說成“一個(gè)接口,多個(gè)方法”。Java實(shí)現(xiàn)運(yùn)行時(shí)多態(tài)性的基礎(chǔ)是動(dòng)態(tài)方法調(diào)度,它是一種在運(yùn)行時(shí)而不是在編譯期調(diào)用重載方法的機(jī)制,下面就繼承和接口實(shí)現(xiàn)兩方面談?wù)?a href=/itjie/Javajishu/ target=_blank class=infotextkey>Java運(yùn)行時(shí)多態(tài)性的實(shí)現(xiàn)。

  一、通過繼承中超類對(duì)象引用變量引用子類對(duì)象來實(shí)現(xiàn)

  舉例說明:

  //定義超類superA
  class superA
  {
  int i = 100;
  void fun()
  {
  System.out.println(“This is superA”);
  }
  }
  //定義superA的子類subB
  class subB extends superA
  {
  int m = 1;
  void fun()
  {
  System.out.println(“This is subB”);
  }
  }
  //定義superA的子類subC
  class subC extends superA
  {
  int n = 1;
  void fun()
  {
  System.out.println(“This is subC”);
  }
  }

  class Test
  {
  public static void main(String[] args)
  {
  superA a;
  subB b = new subB();
  subC c = new subC();
  a=b;
  a.fun(); (1)
  a=c;
  a.fun(); (2)
  }
  }

  運(yùn)行結(jié)果為:

  This is subB
  This is subC

  上述代碼中subB和subC是超類superA的子類,我們?cè)陬怲est中聲明了3個(gè)引用變量a, b, c,通過將子類對(duì)象引用賦值給超類對(duì)象引用變量來實(shí)現(xiàn)動(dòng)態(tài)方法調(diào)用。也許有人會(huì)問:“為什么(1)和(2)不輸出:This is superA”。Java 的這種機(jī)制遵循一個(gè)原則:當(dāng)超類對(duì)象引用變量引用子類對(duì)象時(shí),被引用對(duì)象的類型而不是引用變量的類型決定了調(diào)用誰的成員方法,但是這個(gè)被調(diào)用的方法必須是在超類中定義過的,也就是說被子類覆蓋的方法。

  所以,不要被上例中(1)和(2)所迷惑,雖然寫成a.fun(),但是由于(1)中的a被b賦值,指向了子類subB的一個(gè)實(shí)例,因而(1)所調(diào)用的fun()實(shí)際上是子類subB的成員方法fun(),它覆蓋了超類superA的成員方法fun();同樣(2)調(diào)用的是子類subC的成員方法fun()。

  另外,如果子類繼承的超類是一個(gè)抽象類,雖然抽象類不能通過new操作符實(shí)例化,但是可以創(chuàng)建抽象類的對(duì)象引用指向子類對(duì)象,以實(shí)現(xiàn)運(yùn)行時(shí)多態(tài)性。具體的實(shí)現(xiàn)方法同上例。

  不過,抽象類的子類必須覆蓋實(shí)現(xiàn)超類中的所有的抽象方法,否則子類必須被abstract修飾符修飾,當(dāng)然也就不能被實(shí)例化了。

jsp技術(shù)運(yùn)行時(shí)實(shí)現(xiàn)Java的多態(tài)性,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 九一色视频| 久久亚洲精品成人 | 啦啦啦www图片 | 国产精品久久久久久久牛牛 | 69堂国产成人精品视频不卡 | 亚洲一区2区三区4区5区 | 91精彩视频 | 亚洲天堂岛国片 | 黄色资源在线观看 | 婷婷影院在线综合免费视频 | 国产网站免费视频 | 美女张腿男人桶免费视频 | 国内偷拍第一页 | 国产美女在线看 | 国产欧美亚洲三区久在线观看 | 久久免费视频2 | 69热在线 | 九九久久精品视频 | 国产成人禁片在线观看 | 亚洲国产精品婷婷久久 | 99视频都是精品热在线播放 | 久久黄视频 | 午夜精品在线 | 免费人成网站永久 | 亚洲人的天堂男人爽爽爽 | 国产在线观看人成激情视频 | 国产一区二区三区在线 | 成年黄网站色视频免费观看 | 中文字幕福利 | 激情网成人 | 一区二区三区91 | 亚洲国产高清一区二区三区 | 青草精品 | porn成人毛片 | 日韩美女视频一区 | 国产精品日韩欧美在线第3页 | 国产91久久久久久久免费 | 国产高清视频a在线大全 | 日本福利在线观看 | 国产精品视频人人做人人爱 | 亚洲乱码一二三四区乱码 |