<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>

            Java的多態性

            時間:2025-10-09 06:43:54 java語言

            關于Java的多態性

              多態性有兩種:

              1)編譯時多態性

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

              2)運行時多態性

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

              方法覆蓋表現出兩種多態性,當對象獲得本類實例時,為編譯時多態性,否則為運行時多態性,例如:

              XXXX x1 = new XXXX(參數列表); /pic/p>

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

              x1.toString(); /pic/p>

              xx1.toString(); /pic/p>

              XXXX為XXX的父類.

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

              XXXX x2 = new XXX(參數列表); /pic/p>

              x2.toString(); /pic/p>

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

              這分為兩種情況:

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

              如果沒有覆蓋,則執行父類方法.

              在編譯時,僅僅依據對象所屬的類,系統無法確定到底應該執行那個類的方法,只有運行時才能確定,因此這是運行時多態.

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

             

            【Java的多態性】相關文章:

            Java與Java web的區別01-30

            淺談Java語言與Java 技術12-19

            Java與Java web有什么不同12-05

            java教程之Java編程基礎12-06

            談Java語言與Java技術的介紹02-19

            Java的類02-22

            什么是Java02-15

            Java 繼承12-20

            java講解01-30

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看