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

java多態(tài)機制原理特點詳解

 更新時間:2020年02月03日 14:50:17   作者:angryTom  
在本篇文章里小編給大家分享的是關(guān)于java多態(tài)機制原理特點詳解,有需要的朋友們可以跟著學(xué)習(xí)下。

java多態(tài)機制是什么

java中實現(xiàn)多態(tài)的機制是依靠父類或接口的引用指向子類。從而實現(xiàn)了一個對象多種形態(tài)的特性。其中父類的引用是在程序運行時動態(tài)的指向具體的實例,調(diào)用該引用的方法時,不是根據(jù)引用變量的類型中定義的方法來運行,而是根據(jù)具體的實例的方法。

概念

多態(tài)就是指一個引用變量倒底會指向哪個類的實例對象,該引用變量發(fā)出的方法調(diào)用到底是哪個類中實現(xiàn)的方法,必須在由程序運行期間才能決定。

因為在程序運行時才確定具體的類,這樣,不用修改源程序代碼,就可以讓引用變量綁定到各種不同的類實現(xiàn)上,從而導(dǎo)致該引用調(diào)用的具體方法隨之改變,即不修改程序代碼就可以改變程序運行時所綁定的具體代碼,讓程序可以選擇多個運行狀態(tài),這就是多態(tài)性。

特點:

指向子類的父類引用由于向上轉(zhuǎn)型了,它只能訪問父類中擁有的方法和屬性,而對于子類中存在而父類中不存在的方法,該引用是不能使用的,盡管是重載該方法。

若子類重寫了父類中的某些方法,在調(diào)用該些方法的時候,必定是使用子類中定義的這些方法(動態(tài)連接、動態(tài)調(diào)用)。

知識點擴展

多態(tài)的實現(xiàn)原理

Java 里對象方法的調(diào)用是依靠類信息里的方法表實現(xiàn)的。

總體而言,當(dāng)調(diào)用對象某個方法時,JVM查找該對象類的方法表以確定該方法的直接引用地址,有了地址后才真正調(diào)用該方法。

超類繼承父類的方法,如果不Overriding該方法,那么調(diào)用時會指向父類的方法。如果Overrding該方法,那么指向該類的代碼區(qū)。

但是超類會存有父類的方法表。

以上就是本次介紹的全部相關(guān)知識點,感謝大家的學(xué)習(xí)和對腳本之家的支持。

相關(guān)文章

  • Java數(shù)據(jù)結(jié)構(gòu)之順序表和鏈表精解

    Java數(shù)據(jù)結(jié)構(gòu)之順序表和鏈表精解

    我在學(xué)習(xí)完順序表后一直對順序表和鏈表的概念存在一些疑問,這里給出一些分析和看法,通讀本篇對大家的學(xué)習(xí)或工作具有一定的價值,需要的朋友可以參考下
    2021-09-09
  • 從零開始使用IDEA創(chuàng)建SpringBoot項目(圖文)

    從零開始使用IDEA創(chuàng)建SpringBoot項目(圖文)

    這篇文章主要介紹了從零開始使用IDEA創(chuàng)建SpringBoot項目(圖文),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • java時間段查詢將00:00:00更換成23:59:59

    java時間段查詢將00:00:00更換成23:59:59

    本文主要介紹了java時間段查詢將00:00:00更換成23:59:59,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Spring Boot中使用RabbitMQ的示例代碼

    Spring Boot中使用RabbitMQ的示例代碼

    本篇文章主要介紹了Spring Boot中使用RabbitMQ的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • SpringBoot啟動執(zhí)行sql腳本的3種方法實例

    SpringBoot啟動執(zhí)行sql腳本的3種方法實例

    在應(yīng)用程序啟動后,可以自動執(zhí)行建庫、建表等SQL腳本,下面這篇文章主要給大家介紹了關(guān)于SpringBoot啟動執(zhí)行sql腳本的3種方法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-01-01
  • SpringBoot單元測試解讀

    SpringBoot單元測試解讀

    SpringBoot提供了基于JUnit5的測試工具,方便進行測試,默認導(dǎo)入相關(guān)依賴,創(chuàng)建測試類,使用斷言(Assertions類)進行斷言操作,支持參數(shù)化測試
    2025-02-02
  • SpringMVC方法返回值多種情況代碼實例

    SpringMVC方法返回值多種情況代碼實例

    這篇文章主要介紹了SpringMVC方法返回值多種情況代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • SpringBoot如何配置CROS Filter

    SpringBoot如何配置CROS Filter

    這篇文章主要介紹了SpringBoot如何配置CROS Filter問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 利用SpringBoot實現(xiàn)高效的文件分塊上傳方案

    利用SpringBoot實現(xiàn)高效的文件分塊上傳方案

    在互聯(lián)網(wǎng)應(yīng)用中,大文件上傳是一個常見而棘手的挑戰(zhàn),傳統(tǒng)的單文件上傳方式在面對大文件時經(jīng)常面臨超時、內(nèi)存溢出等問題,本文將深入探討如何利用Spring Boot實現(xiàn)高效的分塊上傳方案,解決大文件傳輸痛點,需要的朋友可以參考下
    2025-06-06

最新評論

峨眉山市| 平乡县| 黄冈市| 武汉市| 韶关市| 阿拉善右旗| 佛山市| 青海省| 余干县| 宣恩县| 剑河县| 三亚市| 临海市| 武汉市| 涪陵区| 双峰县| 永登县| 宝鸡市| 荥经县| 凉山| 宣威市| 平果县| 乌兰察布市| 陆川县| 淮阳县| 平凉市| 彭山县| 枣阳市| 澄迈县| 丹棱县| 讷河市| 荥阳市| 新津县| 湖南省| 唐山市| 桂林市| 青川县| 东城区| 将乐县| 蒙山县| 且末县|