更新時間:2020-07-02 15:43:01 來源:動力節(jié)點(diǎn) 瀏覽2436次
編程基礎(chǔ)之如何使用Java方法的重載,在Java中,同一個類中的多個方法可以有相同的方法名稱,但是有不同的參數(shù)列表,這就稱為方法重載(method overloading)。假設(shè)要在程序中實(shí)現(xiàn)一個對數(shù)字求和的方法,由于參與求和數(shù)字的個數(shù)和類型都不確定,因此要針對不同的情況去設(shè)計不同的方法。接下來通過一個案例來實(shí)現(xiàn)對兩個整數(shù)相加、對三個整數(shù)相加以及對兩個小數(shù)相加的功能。
public?class?Example1?{
??public?static?void?main?(String[]?args)?{
????//下面是針對求和方法的調(diào)用
????int?suml?=?add01?(1,?2);
????int?sum2?=?add02?(1,?2,?3);
????double?sum3?=?add03?(1.2,?2.3);
????//下面的代碼是打印求和的結(jié)果
????System.out.println?("sum1="+?sum1);
????System.out.println?("sum2="+?sum2);
????System.out.println?("sum3="+?sum3);
??}
??//下面的方法實(shí)現(xiàn)了兩個整數(shù)相加
??public?static?int?add01?(int?x,?int?y)?{
????return?x+y;
??}
??//下面的方法實(shí)現(xiàn)了三個整數(shù)相加
??public?static?int?add02?(int?x,?int?y,?int?z)?{
????return?x+y+z;
??}
??//下面的方法實(shí)現(xiàn)了兩個小數(shù)相加
??public?static?double?add03?(double?x,?double?y)?{
????return?x+y;
??}
????????
}
運(yùn)行結(jié)果為:
sum1=3
sum2=6
sum3=3.5
從上面的代碼不難看出,程序需要針對每一種求和的情況都定義一個方法,如果每個方法的名稱都不相同,在調(diào)用時就很難分清哪種情況該調(diào)用哪個方法。為這個問題,Java允許在一個程序中定義多個名稱相同的方法,但是參數(shù)的類型或個數(shù)必須不同,這就是方法的重載。接下來通過方法重載的方式,修改Example1.java,下面看案例Example2.java。
public?static
????public?static?void?main(String[]?args){
??????//下面是針對求和方法的調(diào)用
??????int?suml?=?add(1,?2);
??????int?sum2?=?add(1,?2,?3);
??????double?sum3=add(1.2,2.3);
??????//下面的代碼是打印求和的結(jié)果
??????System.out.println("sum1-"+sum1);
??????System.out.println("aum2-"+sum2);
??????System.out.println("sum3="+sum3);
????}
????//下面的方法實(shí)現(xiàn)了兩個整數(shù)相加
????public?static?int?add?(int?x,?int?y){
??????return?x+y;
????}
????//下面的方法實(shí)現(xiàn)了三個整數(shù)相加
????public?static?int?add?(int?x,?int?y,?int?z){
??????return?x+y+z;
????}
????//下面的方法實(shí)現(xiàn)了兩個小數(shù)相加
????public?static?double?add?(double?x,?double?y){
??????return?x+y;
????}
}
Example2.java的運(yùn)行結(jié)果與Example2.java相同。Example2.java中定義了三個同名的add()方法,它們的參數(shù)個數(shù)或類型不同,從而形成了方法的重載。在main()方法中調(diào)用add()方法時,通過傳入不同的參數(shù)便可以確定調(diào)用哪個重載的方法,如add(1,2)調(diào)用的是兩個整數(shù)求和的方法。值得注意的是,方法的重載與返回值類型無關(guān),它只需要滿足兩個條件,一是方法名相同,二是參數(shù)個數(shù)或參數(shù)類型不相同。
以上就是動力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對“編程基礎(chǔ)之如何使用Java方法的重載”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743