Javaの配列など

なぜかしらないが,いろいろ勉強する羽目になってしまった.

まず,Classオブジェクト.

オブジェクトoから oが属するクラスのクラスオブジェクトを得るには,

     	Class<?> cl = o.getClass();

とする.状況によっては,

	Class<A> cl = o.getClass();

とか,

	Class<? extends A> cl = o.getClass();

とか."A"という文字列から得るには,

	Class<A> cl = Class.forName("A");

とする.A というリテラルから得るには,

	Class<A> cl = A.class;

で良い.

次に配列.
初期化は,

	A[] as = {new A(), new A(), new A()};

のようにできる.しかし,関数 foo(A[] as)の引数に

	foo( {new A(), new A(), new A()} )

と渡すことはできない.

	foo( new A[] {new A(), new A(), new A()} )

とすることはできる.
一方,可変長引数を定義することもできる.

	public void foo(A... as) { 

のように,「...」で表す.この場合,関数定義の方では,A[] as をもらったものと
考えてコードを書いて良いようだ.