多載(Overload)指在一個類別中,定義多個名稱相同,但參數(Parameter)不同的方法。
例如Java String
的indexOf
方法即為多載的例子,只要方法的參數型態或數目不同,就允許存在多個相同名稱的方法。
下面是多載的範例,可以看到每個方法都命名為print,但不互相衝突。
public class Demo {
public void print(){
System.out.println("印出訊息");
}
public void print(String message){
System.out.println(message);
}
public void print(int integer){
System.out.println(integer);
}
public void print(int x, int y){
System.out.println("x = " + x + ", y = " + y);
}
public void print(int x, int... others){
System.out.println(x);
for(int i : others){
System.out.println(i);
}
}
//和public void print()衝突
// public String print(){
// System.out.println("印出訊息");
// }
}
最後一個被註解的方法public String print()
和第一個方法public void print()
衝突,回傳的資料型態與多載並無關係,多載只與參數型態和數目有關。
沒有留言:
張貼留言