999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

方法重載在JAVA中的應(yīng)用之我見

2016-05-14 12:40:49符志軍王景景
智富時(shí)代 2016年8期

符志軍 王景景

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

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

一、方法重載性質(zhì)

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

Java支持重載方法,即多個(gè)方法可以共享一個(gè)名字。但是,各方法之間必須在參數(shù)個(gè)數(shù)、順序或類型方面有所區(qū)別。如下就是一個(gè)重載了而重載要滿足一下條件:1.必須是同一個(gè)類。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;

}

}

二、方法重載作用

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

三、方法重載的類型

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

(一)普通方法的重載

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

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

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

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

(二)構(gòu)造方法的重載

(三)重載的解析

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

以下舉些例子說明:

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

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

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

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

下面是調(diào)用

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

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

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

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

重載和覆蓋都是多態(tài)的表現(xiàn),他們?cè)谀承┑胤胶芟嗨疲苋菀滓鸪鯇W(xué)者的疑惑,這里將它們之間的區(qū)別總結(jié)如下:

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

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

3.重載時(shí)編譯器在編譯期間就可以確定調(diào)用那一個(gè)方法,而覆蓋則有可能在運(yùn)行期間才能確定。

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

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

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

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

方法重載為:

Public static void main(string[] args){

//todo自動(dòng)生成的方法存根

Overload reload=new overload();

Reload.method();

}

Public void method(){

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

}

Private void method(){

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

}

}

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

【參考文獻(xiàn)】

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

[2]李嵐.案例教學(xué)法探析[J].云南財(cái)貿(mào)學(xué)院學(xué)報(bào),2004,20:347-349.

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

主站蜘蛛池模板: 一级毛片高清| aa级毛片毛片免费观看久| 美美女高清毛片视频免费观看| 久久青草精品一区二区三区 | 久久香蕉国产线| 婷婷色中文网| 国产福利免费视频| 四虎永久在线精品影院| 中文字幕伦视频| 在线观看网站国产| 色偷偷综合网| 在线看片免费人成视久网下载| 四虎永久在线| 丰满人妻一区二区三区视频| 亚洲第一成人在线| 人妻精品全国免费视频| 99精品这里只有精品高清视频| 国产精品一线天| www.99精品视频在线播放| 国产毛片久久国产| 欧美午夜理伦三级在线观看| 国产精品第页| 久久人人爽人人爽人人片aV东京热| 九九热精品在线视频| 国产区福利小视频在线观看尤物| 亚洲美女久久| 国产一区在线视频观看| 欧美色香蕉| 色婷婷电影网| 一级毛片基地| 伊人网址在线| 一级不卡毛片| 无码福利视频| 久久久久无码精品国产免费| 999国产精品| 40岁成熟女人牲交片免费| 在线视频亚洲色图| 亚洲有无码中文网| 亚洲天堂色色人体| 欧美成人h精品网站| 久久a级片| 丁香六月综合网| 99久久精品国产麻豆婷婷| 无码国内精品人妻少妇蜜桃视频| 91成人在线观看视频| 国产经典免费播放视频| 青青极品在线| 欧美黄色a| 手机在线看片不卡中文字幕| 中文字幕无码制服中字| 色综合中文| 欧美一级特黄aaaaaa在线看片| 国内嫩模私拍精品视频| 国产主播一区二区三区| 五月六月伊人狠狠丁香网| 在线看免费无码av天堂的| 欧美不卡视频在线| 亚洲视频免费在线| 亚洲国产成人综合精品2020| 国产精品天干天干在线观看| 日韩精品毛片| 欧美精品伊人久久| 91久草视频| 国产午夜精品鲁丝片| 一级香蕉人体视频| 欧美人与动牲交a欧美精品| 视频一区亚洲| 色综合国产| 午夜视频免费一区二区在线看| 国产麻豆精品在线观看| 亚洲精品国产日韩无码AV永久免费网 | 国产啪在线| 丰满少妇αⅴ无码区| 99久久精品久久久久久婷婷| 亚洲精品亚洲人成在线| 日韩福利在线视频| 她的性爱视频| 欧美特黄一级大黄录像| 国产精品女主播| 国产成人a在线观看视频| 丁香亚洲综合五月天婷婷| 亚洲欧美一区二区三区麻豆|