網頁

2017/10/17

Java 什麼是多載(Overload)

多載(Overload)指在一個類別中,定義多個名稱相同,但參數(Parameter)不同的方法。

例如Java StringindexOf方法即為多載的例子,只要方法的參數型態或數目不同,就允許存在多個相同名稱的方法。

下面是多載的範例,可以看到每個方法都命名為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()衝突,回傳的資料型態與多載並無關係,多載只與參數型態和數目有關。


沒有留言:

張貼留言