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

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

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

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

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

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

如果是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語言中,調(diào)用方法有三種方式。

第一種

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

第二種

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

第三種

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

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

    近期需要開發(fā)一個(gè)將百萬數(shù)據(jù)量MySQL8的數(shù)據(jù)導(dǎo)出到excel的功能,所以本文講給大家介紹了基于EasyExcel實(shí)現(xiàn)百萬級(jí)別數(shù)據(jù)導(dǎo)出,文中通過代碼示例講解的非常詳細(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)詳解,文中通過示例代碼介紹的非常詳細(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)論

台中县| 青铜峡市| 海淀区| 昭觉县| 东山县| 图片| 遂川县| 聊城市| 海林市| 年辖:市辖区| 许昌市| 黑河市| 会同县| 错那县| 长岛县| 沅江市| 家居| 宜良县| 衡阳县| 灵台县| 新乡县| 大兴区| 霸州市| 枞阳县| 苍溪县| 丹巴县| 封丘县| 永修县| 温州市| 湘阴县| 绥芬河市| 外汇| 常州市| 隆昌县| 阜城县| 昭平县| 增城市| 无棣县| 仙居县| 元江| 晴隆县|