在Java中,同一個類中的多個方法可以有相同的方法名稱,但是有不同的參數列表,這就稱爲方法重載(method overloading)。
參數列表又叫參數簽名,包括參數的類型、參數的個數、參數的順序,只要有一個不同就叫做參數列表不同。
重載是面向對象的一個基本特性。
public class Demo {
//一個普通得方法,不帶參數,無返回值
public void add(){
//method body
}
//重載上面的方法,並且帶了一個整形參數,無返回值
public void add(int a){
//method body
}
//重載上面的方法,並且帶了兩個整型參數,返回值爲int型
public int add(int a,int b){
//method body
return 0;
}
}
通過上面的例子,不難看出,重載就是在一個類中,有相同的函數名稱,但形參不同的函。重載的結果,可以讓一個程序段儘量減少代碼和方法的種類。
說明:
- 參數列表不同包括:個數不同、順序不同、類型不同。
- 僅僅參數變量名稱不同是不可以的。
- 跟成員方法一樣,構造方法也可以重載。
- 聲明爲final的方法不能被重載。
- 聲明爲static的方法不能被重載,但是能夠被在此聲明。
方法的重載的規則:
- 方法名稱必須相同。
- 參數列表必須不同。
- 方法的返回類型可以相同也可以不相同。
- 僅僅返回類型不同不足以稱爲方法的重載。