////////////////////////////////////////////////////////////////////////////////
//  << j234c.java >>
//
//  クラス(3):オーバーロード
//
//  固定引数と可変引数の場合について、オーバーロードを確認する。
//
//  (1)固定引数1個のメソッドを定義。
//  (2)可変引数のメソッドを定義。
//  (3)オブジェクトobjの作成。
//  (4)引数0個のメソッドm()の呼び出し。
//  (5)引数1個のメソッドm(123)の呼び出し。
//  (6)引数2個のメソッドm(123,456)の呼び出し。
//
////////////////////////////////////////////////////////////////////////////////

class C {
  void m(int a) { //(1) 
    System.out.println("固定引数1個のメソッド:m(int a)");
  }
  void m(int... a) { //(2)
    System.out.print("可変引数のメソッド:m(int... a)");
    System.out.println(" a.length = " + a.length);
  }
}

class j234c {
  public static void main(String args[]) {

    C obj = new C(); //(3)

    System.out.print("(4)");
    obj.m(); //(4)

    System.out.print("(5)");
    obj.m(123); //(5)

    System.out.print("(6)");
    obj.m(123,456); //(6)

  }

}
実行結果
% javac j234c.java
% java j234c
(4)可変引数のメソッド:m(int... a) a.length = 0
(5)固定引数1個のメソッド:m(int a)
(6)可変引数のメソッド:m(int... a) a.length = 2