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

Java對(duì)象方法的調(diào)用執(zhí)行過(guò)程詳解

 更新時(shí)間:2022年02月15日 14:44:06   作者:IBLiplus  
這篇文章主要介紹了Java對(duì)象方法的調(diào)用執(zhí)行過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

對(duì)象方法的調(diào)用執(zhí)行過(guò)程

編譯器查看對(duì)象的聲明類型和方法名。假設(shè)調(diào)用x.f(param),隱式參數(shù)為x聲明為C類對(duì)象,需要注意的是,有可能存在多個(gè)方法名為f,但是參數(shù)不同的方法,此時(shí),編譯器會(huì)一一列舉C類中的所有方法名為f的方法和超類中訪問屬性為public的并且名字為f的方法。

接下來(lái),編譯器將查看調(diào)用方法時(shí)提供的參數(shù)類型。如果在所有名為f的方法中存在一個(gè)與提供的參數(shù)類型完全匹配,就選擇這個(gè)方法,這個(gè)過(guò)程叫做“重載解析”。

如果是private方法、static方法、final方法或者是構(gòu)造器,那么編譯器就可以準(zhǔn)確的知道應(yīng)該調(diào)用那個(gè)方法,我們將這種調(diào)用方式為靜態(tài)綁定,與此對(duì)應(yīng)的是,調(diào)用的方法依賴于隱式參數(shù)的實(shí)際類型,并且在運(yùn)行時(shí)實(shí)現(xiàn)動(dòng)態(tài)綁定。比如,調(diào)用一個(gè)f(String)的方法。

當(dāng)程序運(yùn)行時(shí),并且采用動(dòng)態(tài)綁定調(diào)用方法,虛擬機(jī)一定調(diào)用與x所引用對(duì)象的類型最合適的那個(gè)類的方法。假設(shè),x的實(shí)際類型是D,他是C的子類,如果子類D中定義了f(String)方法,就直接調(diào)用它,否則就搜索C類中的方法,一次類推。

這樣調(diào)用方法的開銷十分的大,因此虛擬機(jī)為每個(gè)類都定義了一個(gè)方法表,其中列舉了所有的方法名和簽名,這樣,真正調(diào)用方法時(shí),虛擬機(jī)就直接朝朝這個(gè)表就可以了。

調(diào)用方法的幾種方式

一般的,在Java語(yǔ)言中,調(diào)用方法有三種方式。

第一種

通過(guò)對(duì)象名.方法名進(jìn)行調(diào)用,這是最普通的也是最常見的一種調(diào)用方式。

第二種

通過(guò)new關(guān)鍵字調(diào)用構(gòu)造方法,這種是在實(shí)例化對(duì)象時(shí)使用的方式。

第三種

通過(guò)類名.方法名調(diào)用,當(dāng)需要調(diào)用的那個(gè)方法為靜態(tài)(有static的)方法時(shí)使用。配合實(shí)際操作,附如下例子:

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 如何修改HttpServletRequest中header中的信息

    如何修改HttpServletRequest中header中的信息

    這篇文章主要介紹了如何修改HttpServletRequest中header中的信息,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Springboot實(shí)現(xiàn)發(fā)送郵件及注冊(cè)激活步驟

    Springboot實(shí)現(xiàn)發(fā)送郵件及注冊(cè)激活步驟

    為了方便郵件發(fā)送功能的使用,我們用郵件發(fā)送功能實(shí)現(xiàn)用戶注冊(cè),實(shí)現(xiàn)步驟大概就是進(jìn)行用戶注冊(cè)同時(shí)發(fā)送一封激活郵件,郵件里附帶激活鏈接,關(guān)于Springboot發(fā)送郵件注冊(cè)激活功能的實(shí)現(xiàn)參考下本文吧
    2021-06-06
  • java system類使用方法示例 獲取系統(tǒng)信息

    java system類使用方法示例 獲取系統(tǒng)信息

    這篇文章主要介紹了java system類使用方法,該類中的方法都是靜態(tài)的。不能被實(shí)例化,沒有對(duì)外提供構(gòu)造函數(shù),該類可以獲取系統(tǒng)信息
    2014-01-01
  • Java反射機(jī)制詳解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java反射機(jī)制詳解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java 反射機(jī)制。通俗來(lái)講呢,就是在運(yùn)行狀態(tài)中,我們可以根據(jù)“類的部分已經(jīng)的信息”來(lái)還原“類的全部的信息”。這篇文章給大家詳細(xì)介紹了java反射機(jī)制的知識(shí),感興趣的朋友一起看看吧
    2017-06-06
  • 使用EasyExcel實(shí)現(xiàn)百萬(wàn)級(jí)別數(shù)據(jù)導(dǎo)出的代碼示例

    使用EasyExcel實(shí)現(xiàn)百萬(wàn)級(jí)別數(shù)據(jù)導(dǎo)出的代碼示例

    近期需要開發(fā)一個(gè)將百萬(wàn)數(shù)據(jù)量MySQL8的數(shù)據(jù)導(dǎo)出到excel的功能,所以本文講給大家介紹了基于EasyExcel實(shí)現(xiàn)百萬(wàn)級(jí)別數(shù)據(jù)導(dǎo)出,文中通過(guò)代碼示例講解的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • Java 繼承與多態(tài)超詳細(xì)梳理

    Java 繼承與多態(tài)超詳細(xì)梳理

    繼承就是可以直接使用前輩的屬性和方法。自然界如果沒有繼承,那一切都是處于混沌狀態(tài)。多態(tài)是同一個(gè)行為具有多個(gè)不同表現(xiàn)形式或形態(tài)的能力。多態(tài)就是同一個(gè)接口,使用不同的實(shí)例而執(zhí)行不同操作
    2022-04-04
  • SpringBoot添加Email發(fā)送功能及常見異常詳解

    SpringBoot添加Email發(fā)送功能及常見異常詳解

    本篇文章主要介紹了SpringBoot添加Email發(fā)送功能及常見異常詳解,具有一定的參考價(jià)值,有興趣的可以了解一下。
    2017-04-04
  • Java對(duì)象Serializable接口實(shí)現(xiàn)詳解

    Java對(duì)象Serializable接口實(shí)現(xiàn)詳解

    這篇文章主要介紹了Java對(duì)象Serializable接口實(shí)現(xiàn)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Spring報(bào)錯(cuò):Error creating bean with name的問題及解決

    Spring報(bào)錯(cuò):Error creating bean with name的問

    這篇文章主要介紹了Spring報(bào)錯(cuò):Error creating bean with name的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • java實(shí)現(xiàn)的統(tǒng)計(jì)字符算法示例

    java實(shí)現(xiàn)的統(tǒng)計(jì)字符算法示例

    這篇文章主要介紹了java實(shí)現(xiàn)的統(tǒng)計(jì)字符算法,涉及java針對(duì)字符的遍歷、判斷、運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下
    2017-10-10

最新評(píng)論

高密市| 区。| 闽清县| 陈巴尔虎旗| 师宗县| 岳西县| 海伦市| 建瓯市| 虞城县| 南陵县| 赫章县| 深泽县| 彩票| 饶阳县| 郑州市| 都匀市| 宁南县| 青铜峡市| 阿巴嘎旗| 日照市| 丰城市| 子长县| 都匀市| 普定县| 石景山区| 大港区| 汉阴县| 巢湖市| 集贤县| 繁峙县| 太白县| 白银市| 伽师县| 眉山市| 沙田区| 绥阳县| 镇赉县| 旬阳县| 邓州市| 关岭| 清丰县|