更新時(shí)間:2022-09-15 10:38:32 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1271次
在Java教程中,大家會(huì)學(xué)到方法重載,通過(guò)本文您將了解方法重載以及如何借助示例在 Java 中實(shí)現(xiàn)它。
在 Java 中,如果參數(shù)不同(參數(shù)數(shù)量不同、參數(shù)類型不同或兩者兼有) ,則兩個(gè)或多個(gè)方法可能具有相同的名稱。這些方法稱為重載方法,此功能稱為方法重載。例如:
無(wú)效函數(shù)() { ... }
無(wú)效函數(shù)(int a){ ... }
浮動(dòng)函數(shù)(雙一){...}
浮動(dòng)函數(shù)(int a,float b){ ... }
在這里,該func()方法被重載。這些方法具有相同的名稱,但接受不同的參數(shù)。
假設(shè),您必須執(zhí)行給定數(shù)字的加法,但可以有任意數(shù)量的參數(shù)(為簡(jiǎn)單起見(jiàn),假設(shè)為 2 或 3 個(gè)參數(shù))。
為了完成任務(wù),您可以分別為兩個(gè)和三個(gè)參數(shù)創(chuàng)建兩個(gè)sum2num(int, int)方法sum3num(int, int, int)。但是,其他程序員以及將來(lái)的您可能會(huì)感到困惑,因?yàn)檫@兩種方法的行為相同,但名稱不同。
完成此任務(wù)的更好方法是重載方法。并且,根據(jù)傳遞的參數(shù),調(diào)用重載方法之一。這有助于提高程序的可讀性。
以下是執(zhí)行方法重載的不同方法:
1.通過(guò)改變參數(shù)個(gè)數(shù)來(lái)重載
class MethodOverloading {
private static void display(int a){
System.out.println("Arguments: " + a);
}
private static void display(int a, int b){
System.out.println("Arguments: " + a + " and " + b);
}
public static void main(String[] args) {
display(1);
display(1, 4);
}
}
輸出:
參數(shù):1
參數(shù):1 和 4
2.通過(guò)改變參數(shù)的數(shù)據(jù)類型實(shí)現(xiàn)方法重載
class MethodOverloading {
// this method accepts int
private static void display(int a){
System.out.println("Got Integer data.");
}
// this method accepts String object
private static void display(String a){
System.out.println("Got String object.");
}
public static void main(String[] args) {
display(1);
display("Hello");
}
}
輸出:
得到整數(shù)數(shù)據(jù)。
得到字符串對(duì)象。
在這里,兩個(gè)重載方法都接受一個(gè)參數(shù)。但是,一個(gè)接受類型參數(shù),int而另一個(gè)接受String對(duì)象。
讓我們看一個(gè)真實(shí)世界的例子:
class HelperService {
private String formatNumber(int value) {
return String.format("%d", value);
}
private String formatNumber(double value) {
return String.format("%.3f", value);
}
private String formatNumber(String value) {
return String.format("%.2f", Double.parseDouble(value));
}
public static void main(String[] args) {
HelperService hs = new HelperService();
System.out.println(hs.formatNumber(500));
System.out.println(hs.formatNumber(89.9934));
System.out.println(hs.formatNumber("550"));
}
}
運(yùn)行程序時(shí),輸出將是:
500
89.993
550.00
以上就是關(guān)于“Java方法重載的介紹及示例”的介紹,大家如果想了解更多相關(guān)知識(shí),不妨來(lái)關(guān)注一下動(dòng)力節(jié)點(diǎn)的Java在線學(xué)習(xí),里面的課程內(nèi)容從入門到精通,細(xì)致全面, 很適合沒(méi)有基礎(chǔ)的小伙伴學(xué)習(xí),希望對(duì)大家的學(xué)習(xí)能夠有所幫助。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743