欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java多態(tài)機(jī)制原理特點(diǎn)詳解

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

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

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

概念

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

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

特點(diǎn):

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

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

知識(shí)點(diǎn)擴(kuò)展

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

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

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

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

但是超類會(huì)存有父類的方法表。

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

相關(guān)文章

  • Java實(shí)現(xiàn)指定目錄下的文件查找詳解

    Java實(shí)現(xiàn)指定目錄下的文件查找詳解

    這篇文章主要介紹了利用Java實(shí)現(xiàn)指定目錄下的文件查找的方法,能做到給出文件名,查找目錄及其子目錄中是否存在或者給出后綴名,查找目錄及其子目錄中相關(guān)的文件,感興趣的可以學(xué)習(xí)一下
    2022-03-03
  • 案例講解SpringBoot?Starter的使用教程

    案例講解SpringBoot?Starter的使用教程

    SpringBoot中的starter是一種非常重要的機(jī)制,能夠拋棄以前繁雜的配置,將其統(tǒng)一集成進(jìn)starter,應(yīng)用者只需要在maven中引入starter依賴,SpringBoot就能自動(dòng)掃描到要加載的信息并啟動(dòng)相應(yīng)的默認(rèn)配置,本文通過(guò)案例講解SpringBoot?Starter的使用,感興趣的朋友一起看看吧
    2023-12-12
  • IDEA新手必備之各種快捷鍵詳解

    IDEA新手必備之各種快捷鍵詳解

    這篇文章主要介紹了IDEA新手必備之各種快捷鍵詳解,文中有非常詳細(xì)的快捷鍵介紹,對(duì)正在使用IDEA的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • 淺談Java后臺(tái)對(duì)JSON格式的處理操作

    淺談Java后臺(tái)對(duì)JSON格式的處理操作

    下面小編就為大家?guī)?lái)一篇淺談Java后臺(tái)對(duì)JSON格式的處理操作。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-06-06
  • JAVA內(nèi)存溢出解決方案圖解

    JAVA內(nèi)存溢出解決方案圖解

    這篇文章主要介紹了JAVA內(nèi)存溢出解決方案圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Java中的ThreadLocal詳解

    Java中的ThreadLocal詳解

    這篇文章主要介紹了Java中的ThreadLocal詳解,ThreadLocal?是一個(gè)線程局部變量,其實(shí)的功用非常簡(jiǎn)單,就是為每一個(gè)使用該變量的線程都提供一個(gè)變量值的副本,是Java中一種較為特殊的線程綁定機(jī)制,需要的朋友可以參考下
    2023-09-09
  • 利用@Value注解為bean的屬性賦值方法總結(jié)

    利用@Value注解為bean的屬性賦值方法總結(jié)

    這篇文章主要介紹了利用@Value注解為bean的屬性賦值方法總結(jié),文中有詳細(xì)的代碼示例,對(duì)學(xué)習(xí)@Value注解有一定的參考價(jià)值,需要的朋友可以參考下
    2023-05-05
  • Java的反射機(jī)制之獲取class詳解

    Java的反射機(jī)制之獲取class詳解

    這篇文章主要介紹了Java的反射機(jī)制之獲取class詳解,Class類表示一個(gè)類或接口的元數(shù)據(jù),通過(guò)它可以獲取到類或接口的構(gòu)造函數(shù)、方法、字段、注解等信息,也能夠創(chuàng)建對(duì)象、調(diào)用方法等,需要的朋友可以參考下
    2023-09-09
  • java:try...catch跳過(guò)異常繼續(xù)處理循環(huán)問題

    java:try...catch跳過(guò)異常繼續(xù)處理循環(huán)問題

    這篇文章主要介紹了java:try...catch跳過(guò)異常繼續(xù)處理循環(huán)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java多態(tài)性定義與用法實(shí)例詳解

    Java多態(tài)性定義與用法實(shí)例詳解

    這篇文章主要介紹了Java多態(tài)性定義與用法,較為詳細(xì)的分析了多態(tài)的概念、功能以及java定義與實(shí)現(xiàn)面向?qū)ο蠖鄳B(tài)性的相關(guān)操作技巧,需要的朋友可以參考下
    2017-09-09

最新評(píng)論