方法重載是方法名稱進行重用的一種技術形式,其最主要的特點是 “方法名稱相同,參數的類型或個數不同”,在調用時就會根據傳遞參數類型和個數的不同執行不同的方法體。
例71:定義方法重載
public class JavaDemo066 {
public static void main(String[] args) {
int resultA = sum(10, 20);// 調用2個 int參數的方法
int resultB = sum(10, 20, 30);// 調用3個 int參數的方法
int resultC = sum(11.2, 25.3);// 調用2個 double參數的方法
System.out.println("計算結果:" + resultA);
System.out.println("計算結果:" + resultB);
System.out.println("計算結果:" + resultC);
}
/**
* 實現2個整數數據的加法計算
*
* @param x 計算數字1
* @param y 計算數字2
* @return 加法計算結果
*/
public static int sum(int x, int y) {
return x + y;
}
/**
* 實現3個整數數據的加法計算
*
* @param x 計算數字1
* @param y 計算數字2
* @param z 計算數字3
* @return 加法計算結果
*/
public static int sum(int x, int y, int z) {
return x + y + z;
}
/**
* 實現2個浮點數據的加法計算
*
* @param x 計算數字1
* @param y 計算數字2
* @return 加法計算結果,去掉小數點
*/
public static int sum(double x, double y) {
return (int) (x + y);
}
}
方法重載時考慮到標準性一般都建議統一返回值類型。
重載的時候並沒有強制要求返回值的類型進行約束,但調用的時候會出現混淆。
例72:觀察輸出操作的重載實現
public class JavaDemo067 {
public static void main(String[] args) {
System.out.println("Hello");// 輸出 String
System.out.println(1);// 輸出 int
System.out.println(10.2);// 輸出 double
System.out.println('A');// 輸出 char
System.out.println(false);// 輸出 boolean
}
}