- 相關(guān)推薦
什么是方法重載
方法重載是指在一個(gè)類中定義多個(gè)同名的方法,但要求每個(gè)方法具有不同的參數(shù)的類型或參數(shù)的個(gè)數(shù)。調(diào)用重載方法時(shí),Java編譯器能通過(guò)檢查調(diào)用的方法的參數(shù)類型和個(gè)數(shù)選擇一個(gè)恰當(dāng)?shù)姆椒。以下是小編精心整理的什么是方法重載,歡迎大家借鑒與參考,希望對(duì)大家有所幫助。
方法的重載的作用
java允許在一個(gè)類中,多個(gè)方法擁有相同的名字,但在名字相同的同時(shí),必須有不同的參數(shù),這就是重載,編譯器會(huì)根據(jù)實(shí)際情況挑選出正確的方法,如果編譯器找不到匹配的參數(shù)或者找出多個(gè)可能的匹配就會(huì)產(chǎn)生編譯時(shí)錯(cuò)誤,這個(gè)過(guò)程被稱為重載的解析
1 普通方法的重載
普通方法的重載是Java實(shí)現(xiàn)多態(tài)技術(shù)的重要手段,為編程帶來(lái)了很多便利
當(dāng)方法同名時(shí),為了讓編譯器區(qū)別他們,至少需要下面之一不同
1 參數(shù)個(gè)數(shù)不同
2 對(duì)應(yīng)位置上的參數(shù)類型不同
不允許參數(shù)完全相同而只是返回值不同的情況出現(xiàn)。無(wú)法進(jìn)行編譯,程序在eclips中顯示錯(cuò)誤
2 構(gòu)造方法的重載
見(jiàn)文章構(gòu)造方法的繼承
重載的解析
當(dāng)類的設(shè)計(jì)者提供了重載方法之后,類的使用者在使用這些方法時(shí)編譯器需要確定調(diào)用哪一個(gè)方法,確定的唯一依據(jù)是參數(shù)列表,確定的過(guò)程被稱為重載的解析。
以下舉些例子說(shuō)明:
show(int a ,int b,int c) //1
show(int a ,int b,double c) //2
show(int a ,double b,double c)//3
show(double a,double b,int c) //4
下面是調(diào)用
show(1,2,3);//1,2,3,4都是可行方法所有參數(shù)完全匹配1
show(1.0,2.0,3.0);//沒(méi)有一個(gè)可行方法
show(1.0,2,3);//4是最佳可行方法
show(1,2.0,3);//3,4都是可行方法,沒(méi)有最佳可行方法,報(bào)錯(cuò)
重載和覆蓋都是多態(tài)的表現(xiàn),他們?cè)谀承┑胤胶芟嗨疲苋菀滓鸪鯇W(xué)者的疑惑,這里將它們之間的區(qū)別總結(jié)如下
1 重載和覆蓋的方法名稱都相同,但重載要求參數(shù)列表不同,而覆蓋要求參數(shù)列表完全相同。
2 重載對(duì)于方法前面的修飾符沒(méi)有限制,而覆蓋則對(duì)這些修飾符的使用有限制
3 重載時(shí)編譯器在編譯期間就可以確定調(diào)用那一個(gè)方法,而覆蓋則有可能在運(yùn)行期間才能確定。
方法重載是指在一個(gè)類中定義多個(gè)同名的方法,但要求每個(gè)方法具有不同的參數(shù)的類型或參數(shù)的個(gè)數(shù)。調(diào)用重載方法時(shí),Java編譯器能通過(guò)檢查調(diào)用的方法的參數(shù)類型和個(gè)數(shù)選擇一個(gè)恰當(dāng)?shù)姆椒。方法重載通常用于創(chuàng)建完成一組任務(wù)相似但參數(shù)的類型或參數(shù)的個(gè)數(shù)或參數(shù)的順序不同的方法。
Java的方法重載,就是在類中可以創(chuàng)建多個(gè)方法,它們可以有相同的名字,但必須具有不同的參數(shù),即或者是參數(shù)的個(gè)數(shù)不同,或者是參數(shù)的類型不同。調(diào)用方法時(shí)通過(guò)傳遞給它們的不同個(gè)數(shù)和類型的參數(shù),以及傳入?yún)?shù)的順序來(lái)決定具體使用哪個(gè)方法
擴(kuò)展資料:
具體規(guī)范
一、方法名一定要相同。
二、方法的參數(shù)表必須不同,包括參數(shù)的類型或個(gè)數(shù),以此區(qū)分不同的方法體。
1、如果參數(shù)個(gè)數(shù)不同,就不管它的參數(shù)類型了!
2、如果參數(shù)個(gè)數(shù)相同,那么參數(shù)的類型必須不同。
三、方法的返回類型、修飾符可以相同,也可不同。
【什么是方法重載】相關(guān)文章:
方法重載的條件09-23
方法重載與覆蓋的區(qū)別11-04
方法重載和方法重寫的概念和區(qū)別09-06
舞蹈能力的提升有什么方法12-14
初二有什么學(xué)習(xí)方法11-08
什么樣的學(xué)習(xí)方法好07-25
鼠標(biāo)滾輪失靈有什么解決方法08-16
金鉆的養(yǎng)殖方法,有什么注意事項(xiàng)08-26
高考文言文翻譯有什么技巧和方法08-30
記憶方法有哪些學(xué)習(xí)方法10-19