發新話題

Java 教程《語法說明》Overloading a Method

Java 教程《語法說明》Overloading a Method

■ Overloading a Method
[method-modifiers] returnType methodName( [parameterList] ) {
  ....
}

[method-modifiers] returnType methodName( [parameterList] ) {
  ....
}

[說明]
1. 當 Java 呼叫某個 method 時,根據以下情況決定該執行哪一個 method:
  A) instance 所在的類別
  B) method 的名稱
  C) 傳給 method 的參數型態與個數
因此如果同一個 class 內有兩個以上的 methods 有相同的方法名稱(可經由宣告或繼承而產生),但是有不同的 signature,稱此種情況為覆載。
[註] signature 由 method 名稱、formal parameters的個數和資料型態所組成。不包括 methods 的傳回型態。
2. Java 並不比較 method 的傳回型態來決定要呼叫哪個 method。因此並不允許 methods 間有相同參數列狀況、而只有傳回值型態不同的情況發生。

[範例]
class MyOverloadClass {
  public void myMethod(int a, int b) {
    System.out.println("參數a:" + a + "     參數b:"+b);
  }

  public void myMethod(int a) {
    System.out.println("參數a:" + a);
  }
}

class Demo {
  public static void main (String[ ] args) {
    MyOverloadClass myObj = new MyOverloadClass( );
    myObj.myMethod(50, 100);
    myObj.myMethod(66);
  }
}

TOP

發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。