亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        方法重載在JAVA中的應用之我見

        2016-05-14 12:40:49符志軍王景景
        智富時代 2016年8期
        關鍵詞:多態(tài)性

        符志軍 王景景

        【摘 要】方法重載是讓類以統(tǒng)一的方式處理不同類型數(shù)據(jù)的一種手段。多個同名函數(shù)同時存在,具有不同的參數(shù)個數(shù)/類型。重載Overloading是一個類中多態(tài)性的一種表現(xiàn)。Java的方法重載,就是在類中可以創(chuàng)建多個方法,它們具有相同的名字,但具有不同的參數(shù)和不同的定義。

        【關鍵詞】方法重載;多態(tài)性;參數(shù)

        一、方法重載性質

        多態(tài)性可以用“一個對外接口,多個內在實現(xiàn)方法”來表示。也就是說,我們可以在一個類中定義多個同名方法,程序在調用某個方法時,系統(tǒng)會自動根據(jù)參數(shù)類型和個數(shù)的不同調用不同的方法,這種機制被稱為方法重載。它與方法重寫不一樣。方法重載:同一個類中,方法名相同,參數(shù)不同,方法體不同;方法重寫:不同的類中,方法體不同,參數(shù)相同,方法名也相同.(兩同兩不同)方法重載的作用:在有多個同名參數(shù)的類中,在調用時通過不同的參數(shù)來調用不同的方法。方法重寫的作用: 在繼承中,子類可用方法重寫,對父類進行擴充或改造。

        Java支持重載方法,即多個方法可以共享一個名字。但是,各方法之間必須在參數(shù)個數(shù)、順序或類型方面有所區(qū)別。如下就是一個重載了而重載要滿足一下條件:1.必須是同一個類。2.方法名(也可以叫函數(shù))一樣。3.參數(shù)類型不一樣或參數(shù)數(shù)量不一樣。

        例如:

        public class DoubleIt{

        public static String doubleItt(String data){ // 參數(shù)類型為String

        System.out.println(data+data);

        returndata+data;

        }

        public static intdoubleItt(int data){ // 參數(shù)類型為int

        System.out.println(2*data);

        return 2*data;

        }

        }

        二、方法重載作用

        方法重載就是對不同數(shù)據(jù)類型的的數(shù)據(jù)實現(xiàn)相似的操作。方法重載,很大程度是為了程序的可讀性,即使不用,也是不會妨礙程序運行的。當我們利用繼承由父類創(chuàng)建子類時,如果父類中的某些方法不適合子類,我們無法刪除它們,但可以重新定義它們,這被稱為覆蓋。

        三、方法重載的類型

        java允許在一個類中,多個方法擁有相同的名字,但在名字相同的同時,必須有不同的參數(shù),這就是重載,編譯器會根據(jù)實際情況挑選出正確的方法,如果編譯器找不到匹配的參數(shù)或者找出多個可能的匹配就會產(chǎn)生編譯時錯誤,這個過程被稱為重載的解析。

        (一)普通方法的重載

        普通方法的重載是Java實現(xiàn)多態(tài)技術的重要手段,為編程帶來了很多便利

        當方法同名時,為了讓編譯器區(qū)別他們,至少需要下面之一不同:

        1)參數(shù)個數(shù)不同

        2)對應位置上的參數(shù)類型不同不允許參數(shù)完全相同而只是返回值不同的情況出現(xiàn)。無法進行編譯,程序在eclips中顯示錯誤。

        (二)構造方法的重載

        (三)重載的解析

        當類的設計者提供了重載方法之后,類的使用者在使用這些方法時編譯器需要確定調用哪一個方法,確定的唯一依據(jù)是參數(shù)列表,確定的過程被稱為重載的解析。

        以下舉些例子說明:

        showaa(int a ,int b,int c) //這是一個具有相同的參數(shù)數(shù)據(jù)類型的方法

        showaa(int a ,int b,double c) //這是一個具有不同數(shù)據(jù)類型參數(shù)的方法

        showaa(int a ,double b,double c)// 這是一個具有不同數(shù)據(jù)類型參數(shù)的方法

        showaa(double a,doubleb,int c) //這是一個具有不同數(shù)據(jù)類型參數(shù)的方法

        下面是調用

        showaa(4,2,3);//1,2,3,4都是可行方法所有參數(shù)完全匹配1

        showaa(6.0,2.0,3.0);//沒有一個可行方法

        showaa(4.0,2,3);//4是最佳可行方法

        showaa(7,2.0,3);//3,4都是可行方法,沒有最佳可行方法,報錯。

        重載和覆蓋都是多態(tài)的表現(xiàn),他們在某些地方很相似,很容易引起初學者的疑惑,這里將它們之間的區(qū)別總結如下:

        1.重載和覆蓋的方法名稱都相同,但重載要求參數(shù)列表不同,而覆蓋要求參數(shù)列表完全相同。

        2.重載對于方法前面的修飾符沒有限制,而覆蓋則對這些修飾符的使用有限制

        3.重載時編譯器在編譯期間就可以確定調用那一個方法,而覆蓋則有可能在運行期間才能確定。

        四、方法重載與重寫的區(qū)別

        方法重載是指方法名和方法的返回類型都相同,但方法參數(shù)不一樣. 參數(shù)不一樣體現(xiàn)在參數(shù)個數(shù)和參數(shù)類型不一樣.方法重寫:方法重寫是相對繼承而言的. 重寫的方法名.返回類型,參數(shù)類型和參數(shù)個數(shù)都要求和父類中的一樣. 這是重載和重寫形式上的區(qū)別。

        本質上的區(qū)別是:重寫Overriding是父類與子類之間多態(tài)性的一種表現(xiàn),重載Overloading是一個類中多態(tài)性的一種表現(xiàn)。如果在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說該方法被重寫(Overriding)。子類的對象使用這個方法時,將調用子類中的定義,對它而言,父類中的定義如同被"屏蔽"了。如果在一個類中定義了多個同名的方法,它們或有不同的參數(shù)個數(shù)或有不同的參數(shù)類型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類型。

        java中重寫父類的方法只需寫出與父類一模一樣的這個方法即可,包括方法名,參數(shù)類型,參數(shù)值,返回值。java重寫父類方法后,原有的父類里面的實現(xiàn)全部清空,變?yōu)橹貙懞蟮膬热荨?/p>

        方法重載為:

        Public static void main(string[] args){

        //todo自動生成的方法存根

        Overload reload=new overload();

        Reload.method();

        }

        Public void method(){

        System.out.println(“這是一個普通的函數(shù)”);

        }

        Private void method(){

        System.out.println(“這是對method方法的重載):

        }

        }

        在重載的方法中一般地訪問權限修飾符對方法的重載不影響。也即,它們不是構成不同方法的必要條件。通俗點講,方法的不同和訪問修飾符是否一致沒有任何關系。當然在以上的程序中如果訪問修飾符不一致,而參數(shù)相同(或者都沒有參數(shù))的話,java默認其都為同一種方法,因此編譯無法通過,報錯。

        【參考文獻】

        [1] 張潤蓮,張向利,葉進.案例教學法及其運用[J].桂林電子工業(yè)學院學報,2004,24(4):102-105.

        [2]李嵐.案例教學法探析[J].云南財貿學院學報,2004,20:347-349.

        [3] 宋平;王振;提高Java語言教學效果的探索與實踐[J];沈陽農(nóng)業(yè)大學學報(社會科學版);2006年04期

        猜你喜歡
        多態(tài)性
        單核苷酸多態(tài)性與中醫(yī)證候相關性研究進展
        CLOCK基因rs4580704多態(tài)性位點與2型糖尿病和睡眠質量的相關性
        SLC6A4基因多態(tài)性與原發(fā)性早泄關系研究進展
        馬鈴薯cpDNA/mtDNA多態(tài)性的多重PCR檢測
        GlobalFiler~? PCR擴增試劑盒驗證及其STR遺傳多態(tài)性
        CETP TaqIB基因多態(tài)性與血脂及冠心病相關性研究
        ICAM-1基因K469E與MCP-1基因-2518A/G多態(tài)性的交互作用和胃癌侵襲與轉移的關系
        CD14啟動子-260C/T基因多態(tài)性與胃癌易感性的Meta分析
        α1抗胰蛋白酶基因多態(tài)性與肺癌易感性的研究
        蒙古斑在維吾爾族新生兒中分布的多態(tài)性
        日本高清一区二区三区色| 久久亚洲私人国产精品| 中国一级特黄真人片久久| 国产精品女同久久久久电影院| 亚洲日韩激情无码一区| 大肉大捧一进一出好爽视频| 青青草原综合久久大伊人| 国产高潮刺激叫喊视频| 精品国产av无码一道| 亚洲va欧美va人人爽夜夜嗨| 国产偷闻隔壁人妻内裤av| 精品人妻一区二区视频| 亚洲精品国产av日韩专区| 国产在线一区二区三区四区 | 久久精品国产亚洲一级二级| 久久av一区二区三区黑人| 久久黄色国产精品一区视频| 欧美噜噜久久久xxx| 久久发布国产伦子伦精品| 自拍偷拍亚洲一区| 国产精品成人无码久久久久久| 一区二区三区视频偷拍| 人妻少妇偷人精品免费看| 无套内射无矿码免费看黄| 国产午夜成人久久无码一区二区| 91短视频在线观看免费| 91自国产精品中文字幕| 高潮av一区二区三区| 中文字幕精品一区二区三区| 日韩欧美亚洲综合久久影院ds| 中文天堂在线www| 亚洲欧美日韩国产精品一区| 亚洲一区二区三区乱码在线| 亚洲中文字幕人成乱码在线 | 精品人妻日韩中文字幕| 成人免费在线亚洲视频| 日本又色又爽又黄又免费网站| 老太脱裤让老头玩ⅹxxxx| 极品诱惑一区二区三区| 国产精品成人久久a级片| 日本视频在线观看二区|