////////////////////////////////////////////////////////////////////////////////
//  << j233a.java >>
//
// クラス(3):可変引数(可変引数のみ)
//
//  可変引数の機能を確認する。
//
//  (1)オブジェクトobjの作成。
//  (2)引数0個のメソッドの呼び出し。
//  (3)引数1個のメソッドの呼び出し。
//  (4)引数2個のメソッドの呼び出し。
//
////////////////////////////////////////////////////////////////////////////////

class C {
  void m(int... a) {
    System.out.println("メソッド開始直後");
    System.out.println("   a.legth = " + a.length);
    System.out.print("   配列 ");
    for( int i=0; i<a.length; i++ ) {
      System.out.print(" a[" + i + "]=" + a[i]);
    }
    System.out.println();
  }
}

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

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

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

    System.out.print("(3)");
    obj.m(111);//(3)

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

  }

}
実行結果
% javac j233a.java
% java j233a
(2)メソッド開始直後
   a.legth = 0
   配列
(3)メソッド開始直後
   a.legth = 1
   配列  a[0]=111
(4)メソッド開始直後
   a.legth = 2
   配列  a[0]=111 a[1]=222