• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

             首頁 > 試題

            重載函數(shù)的特性-總結(jié)

            更新時間:2025-12-12 22:47:33 閱讀: 評論:0

            2023年12月11日發(fā)(作者:教育招生考試院)

            重載函數(shù)的特性-總結(jié)

            重載函數(shù)的一些總結(jié)

            直接show code + 個人總結(jié)

            ①重載函數(shù)可以區(qū)分拆裝箱

            重載方法的調(diào)用過程中,入?yún)?shù)據(jù)如果有基本類型不再裝拆箱,因為重載可以區(qū)分入?yún)ο笫腔绢愋瓦€是對象類型,下例可以體現(xiàn)出來:

            package test;

            public class Override {

            public static void f(int a){

            n("int");

            }

            public static void f(Integer a){

            n("Integer");

            }

            public static void main(String[] args) {

            int intA = 10;

            Integer integerA = 10;

            f(intA);

            f(integerA);

            }

            }

            //輸出:

            //int

            //Integer

            ②重載函數(shù)入?yún)⒍加蠴bject…對象時,就無法通過入?yún)⒉鹧b箱來選擇哪一個重載函數(shù)

            public class Override {

            public static void f(int a, bjects){

            n("int");

            }

            public static void f(Integer a, bjects){

            n("Integer");

            }

            public static void main(String[] args) {

            int intA = 10;

            Integer integerA = 10;

            f(intA);

            //The method f(int, Object[]) is ambiguous for the type Override

            f(integerA);

            //The method f(int, Object[]) is ambiguous for the type Override

            }

            }

            上面的這個例子,調(diào)用重載函數(shù)的時候都會報錯。如果重載函數(shù)沒有Object…那么可以通過區(qū)分入?yún)ο笫欠癫鹧b箱來實現(xiàn)重載,但是入?yún)?/p>

            如果有Object…則無法通過入?yún)ο笫欠癫鹧b箱來區(qū)分了。

            具體原因應(yīng)該是涉及到JVM的原理了。

            ③重載函數(shù)面對兩個方法都符合的入?yún)ⅲ瑫?yōu)先選擇更準(zhǔn)確的方法。

            public class Override {

            public static void f(int a){

            n("int");

            }

            public static void f(Integer a, bjects){

            n("Integer");

            }

            public static void main(String[] args) {

            int intA = 10;

            Integer integerA = 10;

            f(intA);

            f(integerA);

            }

            }

            //輸出:

            //int

            //int

            同樣的,如果重載函數(shù)改為f(int a, Object…objects)和f(Integer a),那么最后的輸出結(jié)果為Integer Integer。

            雖然理論上兩個重載函數(shù)的入?yún)⒍挤蟜(intA)和f(integerA)但是JVM卻選擇了沒有Object…的重載函數(shù)。建立在都符合入?yún)⒌那闆r下JVM

            會去選擇更準(zhǔn)確的重載方法。

            這里還可以得出函數(shù)重載時考慮的優(yōu)先級:不定長度>拆裝箱

            ④重載函數(shù)無法將基本數(shù)據(jù)類型和Object…區(qū)分開

            入?yún)ο笥袑ο?裝箱)型Integer,如上述總結(jié)③得出的,優(yōu)先使用有Integer的重載函數(shù)

            public class Override {

            public static void bjects) {

            n("");

            }

            public static void fff(Integer b, bjects) {

            n("");

            }

            public static void main(String[] args) {

            fff(10);

            }

            }

            //

            如果入?yún)ο笥袀€基本數(shù)據(jù)類型int/double/long/float/char….,則會報錯

            public class Override {

            public static void bjects) {

            n("");

            }

            public static void fff(int b, bjects) {

            n("");

            }

            public static void main(String[] args) {

            fff(10);

            //The method fff(Object[]) is ambiguous for the type Override

            }

            }

            目前總結(jié)出來四點①重載函數(shù)可以區(qū)分拆裝箱

            ②重載函數(shù)入?yún)⒍加蠴bject…對象時,就無法通過入?yún)⒉鹧b箱來選擇哪一個重載函數(shù)。

            ③重載函數(shù)面對兩個方法都符合的入?yún)ⅲ瑫?yōu)先選擇更準(zhǔn)確的方法。

            ④重載函數(shù)無法將基本數(shù)據(jù)類型和Object…區(qū)分開

            可以根據(jù) 實例+總結(jié) 再思考一下,這些特征的共同點,我們知道重載的使用主要是為了提升函數(shù)的復(fù)用,準(zhǔn)確的說是函數(shù)名,他是針對

            【函數(shù)名+不同的入?yún)ⅰ縼韰^(qū)分該調(diào)用哪個方法。上述總結(jié)除了①,都是因為入?yún)⒓尤肓薕bject…才出現(xiàn)的現(xiàn)象,這些特性還是在實踐中所

            得。思考其面對Object…入?yún)⑻幚淼奶匦裕瑧?yīng)該涉及到JVM函數(shù)載入過程中的選擇,也可能是在項目編譯的過程中的一些特性。還需要繼

            續(xù)去探索。

            總之最后一句,不建議在重載函數(shù)中使用Object…,除非徹底摸清楚重載函數(shù)調(diào)用過程針對Object…入?yún)⒌奶幚矸绞健?/p>

            本文發(fā)布于:2023-12-11 08:28:36,感謝您對本站的認(rèn)可!

            本文鏈接:http://m.newhan.cn/zhishi/a/88/40948.html

            版權(quán)聲明:本站內(nèi)容均來自互聯(lián)網(wǎng),僅供演示用,請勿用于商業(yè)和其他非法用途。如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時內(nèi)刪除。

            本文word下載地址:重載函數(shù)的特性-總結(jié).doc

            本文 PDF 下載地址:重載函數(shù)的特性-總結(jié).pdf

            標(biāo)簽:重載   函數(shù)   特性   總結(jié)   裝箱   對象   方法
            留言與評論(共有 0 條評論)
               
            驗證碼:
            推薦文章
            排行榜
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實用文體寫作網(wǎng)旗下知識大全大全欄目是一個全百科類寶庫! 優(yōu)秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 国产91麻豆免费观看| 97亚洲色欲色欲综合网| 亚洲最大天堂无码精品区| 亚洲av男人电影天堂热app| 国产欧美日韩免费看AⅤ视频| 无码伊人久久大杳蕉中文无码| 自偷自拍亚洲综合精品| 午夜精品久久久久久久无码软件 | 国产粉嫩一区二区三区av| 国产婷婷精品av在线| 高清无码18| 饥渴少妇高潮正在播放| 久久91精品国产91久久麻豆| 麻豆国产va免费精品高清在线| 日本高清免费不卡视频| 国产高清无遮挡内容丰富| av中文字幕在线二区| 成在人线av无码免费高潮水老板| 狠狠色丁香久久婷婷综合蜜芽五月| 五月天福利视频| 成人亚洲一级午夜激情网| 亚洲人成电影网站 久久影视| 久久成人国产精品免费软件| 色哟哟国产成人精品| 久久99精品久久久久久青青 | 91福利一区福利二区| 国内自拍网红在线综合一区| 最新国产麻豆aⅴ精品无码| 国产成人欧美一区二区三区在线| 久久亚洲精品天天综合网| 成人网站网址导航| 国产a网站| 亚洲AⅤ波多系列中文字幕| 少妇宾馆把腿扒开让我添| 五月开心六月丁香综合色啪| 韩国av无码| 国产成人精品亚洲午夜| 精品久久久久久无码免费| 九色免费视频| 成人国产精品日本在线观看| 一区二区韩国福利网站|