方法重載

在類中定義多個同名的方法

方法重載是指在一個類中定義多個同名的方法,但要求每個方法具有不同的參數的類型或參數的個數。調用重載方法時,Java編譯器能通過檢查調用的方法的參數類型和個數選擇一個恰當的方法。方法重載通常用於創建完成一組任務相似但參數的類型或參數的個數不同的方法。Java的方法重載,就是在類中可以創建多個方法,它們可以有相同的名字,但必須具有不同的參數,即或者是參數的個數不同,或者是參數的類型不同。調用方法時通過傳遞給它們的不同個數和類型的參數來決定具體使用哪個方法

軟道語錄


載:
載稱復,載參。
類,義,,參,包括參類型,載。調載, 編譯器檢查調參類型選擇恰。載創建完組務似參類型參參順序。
方法的重載,既可以發生在普通方法上,也可以發生在構造方法上。方法的重載,既可以發生在同類中,也可以發生在父子類中。
Java方法的重載:返回類型、修飾符可以相同,也可不同。要求同名的方法必須有不同的參數表,僅有返回類型不同是不足以區分兩個重載的方法。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public class MethodOverloading{
public void show(String str){
... ...
}
public void show(int i){
... ...
}
public void show(double d){
... ...
}
public void show(int i,double d){
... ...
}
}
public class TestDemo {
public static void main(String[] args) {
//此時將根據參數的類型和個數的不同執行不同的方法體
System.out.println(add(10, 20));
System.out.println(add(30, 40, 50));
System.out.println(add(1.1, 2.1));
}
public static int add(int x, int y) {
return x + y;
}
//此時方法名稱相同,參數的個數不同
public static int add(int x, int y, int z) {
return x + y + z;
}
public static double add(double x, double y) {
return x + y;
}
}

例子


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class MethodOverloading {
 
void receive(int i) {
System.out.println("Received one int data");
System.out.println("i="+i);
}
void receive(float f) {
System.out.println("Received one float data");
System.out.println("f="+f);
}
void receive(String s) {
System.out.println("Received a String data");
System.out.println("s="+s);
}
public static void main(String [] args){
MethodOverloading m = new MethodOverloading();
m.receive(3456);
m.receive(34.56f);
m.receive("方法重載");
}
}
注意,Java的方法重載要求同名的方法必須有不同的參數表,僅有返回類型不同是不足以區分兩個重載的方法。

具體規範


一。方法名一定要相同。
二。方法的參數表必須不同,包括參數的類型或個數,以此區分不同的方法體。
1.如果參數個數不同,就不管它的參數類型了!
2.如果參數個數相同,那麼參數的類型必須不同。
三。方法的返回類型、修飾符可以相同,也可不同。