亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

java語言

Java的多態(tài)性

時間:2024-10-09 19:56:32 java語言 我要投稿
  • 相關(guān)推薦

關(guān)于Java的多態(tài)性

  多態(tài)性有兩種:

  1)編譯時多態(tài)性

  對于多個同名方法,如果在編譯時能夠確定執(zhí)行同名方法中的哪一個,則稱為編譯時多態(tài)性.

  2)運行時多態(tài)性

  如果在編譯時不能確定,只能在運行時才能確定執(zhí)行多個同名方法中的哪一個,則稱為運行時多態(tài)性.

  方法覆蓋表現(xiàn)出兩種多態(tài)性,當(dāng)對象獲得本類實例時,為編譯時多態(tài)性,否則為運行時多態(tài)性,例如:

  XXXX x1 = new XXXX(參數(shù)列表); //對象獲得本類實例,對象與其引用的實例類型一致

  XXX xx1 = new XXX(參數(shù)列表);

  x1.toString(); //編譯時多態(tài)性,執(zhí)行XXX類的方法.

  xx1.toString(); //編譯時多態(tài)性,執(zhí)行XXXX類覆蓋的方法.

  XXXX為XXX的父類.

  由于子類對象既是父類對象,父類對象與子類對象之間具有賦值相容性,父類對象能夠被賦值為子類對象.例如,

  XXXX x2 = new XXX(參數(shù)列表); //父類對象獲得子類實例,子類對象即是父類對象

  x2.toString(); //運行時多態(tài)

  x2聲明為父類對象卻獲得子類XXX的實例,那么x2.toString()究竟執(zhí)行父類方法還是執(zhí)行子類覆蓋的方法呢?

  這分為兩種情況:

  取決于子類是否覆蓋父類方法.如果子類覆蓋父類方法,則執(zhí)行子類方法;

  如果沒有覆蓋,則執(zhí)行父類方法.

  在編譯時,僅僅依據(jù)對象所屬的類,系統(tǒng)無法確定到底應(yīng)該執(zhí)行那個類的方法,只有運行時才能確定,因此這是運行時多態(tài).

  父類對象并不能執(zhí)行所有的子類方法,只能執(zhí)行那些父類中聲明子類覆蓋的子類方法.

 

【Java的多態(tài)性】相關(guān)文章:

java教程之Java編程基礎(chǔ)09-12

JAVA的就業(yè)方向10-09

Java 的分支結(jié)構(gòu)10-27

java的應(yīng)用范圍06-24

Java的不同版本10-28

java如何構(gòu)造09-21

java多線程08-31

Java模擬試題04-27

java的多線程09-09

Java語言的優(yōu)點07-12