Java方法03:方法的過載

KNONO發表於2024-08-08

上面使用的max方法僅僅適用於int型資料。但如果你想得到兩個浮點型別資料的最大值呢?

解決方法是建立另一個有相同名字但引數不同的方法,如下面程式碼所示:

public static double max(double num1, double num2) {
	if (num1 > num2) {
		return num1;
	} else {
		return num2;
	}
}

public static int max(int num1, int num2) {
	int result;
	if (num1 > num2) {
		result = num1;
	} else {
		result = num2;
	}
	return result;
}

如果你呼叫max方法時傳遞的是int型引數,則 int型引數的max方法就會被呼叫;

如果傳遞的是double型引數,則double型別的max方法體會被呼叫,這叫做方法過載

就是說一個類的兩個方法擁有相同的名字,但是有不同的引數列表。

Java編譯器根據方法簽名判斷哪個方法應該被呼叫。

方法過載可以讓程式更清晰易讀。執行密切相關任務的方法應該使用相同的名字。

過載的方法必須擁有不同的引數列表。你不能僅僅依據修飾符或者返回型別的不同來過載方法。

相關文章