Java語言支持方法重載,即可以編寫同名方法,但參數類型、返回值類型或參數個數不同。這樣的方法會被視為不同的方法進行處理。
public class Calculator { public int add(int a, int b) { return a + b; } public double add(double a, double b) { return a + b; } }
在上面的例子中,Calculator類中定義了兩個同名的方法add,但參數類型不同。第一個方法參數為int類型,第二個方法參數為double類型。由于參數類型不同,這兩個方法會被Java視為不同的方法進行處理。在使用時,根據傳入的參數類型確定調用哪個方法。
在Java中可以重載以下內容:
- 方法名相同,參數個數不同
- 方法名相同,參數類型不同
- 方法名相同,參數順序不同
- 方法名相同,返回值類型不同,但不建議這么做
需要注意的是,重載方法的返回值類型可以不同,但調用方法時,返回值類型不會作為確定重載方法的依據。也就是說,不能通過返回值類型來判定使用哪個方法。
public class StringUtils { public static String concat(String a, String b) { return a + b; } public static int concat(int a, int b) { return a + b; } }
在上面的例子中,StringUtils類中定義了兩個同名的concat方法,一個參數為String類型,一個參數為int類型。這兩個方法的返回值類型不同,但調用方法時,不能通過返回值類型來判定使用哪個方法。
重載方法可以提高代碼的可讀性和復用性。通過調用同名方法,可以根據傳入的參數類型的不同實現(xiàn)不同的功能。