更新時間:2022-09-15 10:38:32 來源:動力節(jié)點 瀏覽1448次
在Java教程中,大家會學(xué)到方法重載,通過本文您將了解方法重載以及如何借助示例在 Java 中實現(xiàn)它。
在 Java 中,如果參數(shù)不同(參數(shù)數(shù)量不同、參數(shù)類型不同或兩者兼有) ,則兩個或多個方法可能具有相同的名稱。這些方法稱為重載方法,此功能稱為方法重載。例如:
無效函數(shù)() { ... }
無效函數(shù)(int a){ ... }
浮動函數(shù)(雙一){...}
浮動函數(shù)(int a,float b){ ... }
在這里,該func()方法被重載。這些方法具有相同的名稱,但接受不同的參數(shù)。
假設(shè),您必須執(zhí)行給定數(shù)字的加法,但可以有任意數(shù)量的參數(shù)(為簡單起見,假設(shè)為 2 或 3 個參數(shù))。
為了完成任務(wù),您可以分別為兩個和三個參數(shù)創(chuàng)建兩個sum2num(int, int)方法sum3num(int, int, int)。但是,其他程序員以及將來的您可能會感到困惑,因為這兩種方法的行為相同,但名稱不同。
完成此任務(wù)的更好方法是重載方法。并且,根據(jù)傳遞的參數(shù),調(diào)用重載方法之一。這有助于提高程序的可讀性。
以下是執(zhí)行方法重載的不同方法:
1.通過改變參數(shù)個數(shù)來重載
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.通過改變參數(shù)的數(shù)據(jù)類型實現(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ù)。
得到字符串對象。
在這里,兩個重載方法都接受一個參數(shù)。但是,一個接受類型參數(shù),int而另一個接受String對象。
讓我們看一個真實世界的例子:
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"));
}
}
運行程序時,輸出將是:
500
89.993
550.00
以上就是關(guān)于“Java方法重載的介紹及示例”的介紹,大家如果想了解更多相關(guān)知識,不妨來關(guān)注一下動力節(jié)點的Java在線學(xué)習(xí),里面的課程內(nèi)容從入門到精通,細(xì)致全面, 很適合沒有基礎(chǔ)的小伙伴學(xué)習(xí),希望對大家的學(xué)習(xí)能夠有所幫助。
相關(guān)閱讀