目次 | 前項目 | 次項目 Java コアリフレクション


クラス java.lang.reflect.Constructor

    package java.lang.reflect;

    public final class Constructor extends Object implements Member

Constructor は、宣言クラスの 1 つの構築子に関する情報およびそこへのアクセスを提供します。クラスがインスタンス化できる場合は、Constructor を使って、反射された構築子を宣言するクラスの新規インスタンスを生成および初期化できます。

Constructor オブジェクトを生成できるのは、Java 仮想マシンだけです。ユーザコードは、クラス Class のメソッド getConstructor, getConstructors, getDeclaredConstructor, および getDeclaredConstructors から Constructor 参照を獲得します。

Constructor では、newInstance への実効パラメータを基本構築子の形式パラメータと突合わせるときに拡張変換が可能ですが、縮小変換が発生すると IllegalArgumentException をスローします。


メソッド

getDeclaringClass

    public Class getDeclaringClass()

この Constructor オブジェクトが表す構築子を宣言するクラスの Class オブジェクトを返します。

getName

    public String getName()

この Constructor オブジェクトが表す構築子の名前を返します。これは、宣言クラスの完全な修飾名と同じです。

getModifiers

    public int getModifiers()

この Constructor オブジェクトが表す構築子の Java 言語修飾子を整数型にコード化して返します。修飾子の解読には、Modifier クラスを使います。

修飾子のコード化は、Java 仮想マシン仕様の表 4.4 で定義されています。

getParameterTypes

    public Class[] getParameterTypes()

この Constructor オブジェクトが表す構築子の形式パラメータ型を表す Class オブジェクトの配列を、宣言順に返します。基本構築子がパラメータを取らない場合は、長さが 0 の配列を返します。

getExceptionTypes

    public Class[] getExceptionTypes()

この Constructor オブジェクトが表す基本構築子がスローする、確認済み例外のクラスを表す Class オブジェクトの配列を返します。構築子が確認済み例外をスローしない場合は、長さが 0 の配列を返します。

equals

    public boolean equals(Object obj)

この Constructor と指定オブジェクトを比較します。オブジェクトが同じ場合は true を、異なる場合は false を返します。2 つの Constructor オブジェクトの宣言クラスと形式パラメータ型が同じ場合、この 2 つは同じです。

このメソッドは、クラス Objectequals メソッドをオーバーライドします。

hashCode

    public int hashCode()

この Constructor のハッシュコードを返します。ハッシュコードは、Constructor の宣言クラス名のハッシュコードと同じです

このメソッドは、クラス ObjecthashCode メソッドをオーバーライドします。

toString

    public String toString()

この Constructor オブジェクトが表す基本構築子を記述する文字列を返します。文字列は Java 言語修飾子としてフォーマットされ、もしあればその後に、基本構築子を宣言するクラスの完全な修飾名、構築子の形式パラメータ型の完全な修飾名をコンマで区切ったリストの挿入句が続きます。構築子が確認済み例外をスローするならば、パラメータリストの後にスペース、単語 throws、スローされた例外型の完全な修飾名をコンマで区切ったリストが続きます。以下に例を示します:

    

        public java.util.Hashtable(int,float)

構築子に使える修飾子は public, protected または private のどれか 1 つだけ、あるいは構築子にデフォルト (パッケージ) アクセスがある場合はどれも認められません。

このメソッドは、クラス ObjecttoString メソッドをオーバーライドします。

newInstance

    public Object newInstance(Object initargs[])

        throws InstantiationException, IllegalArgumentException,

            IllegalAccessException, InvocationTargetException

この Constructor オブジェクトが表す構築子を使い、指定の初期化パラメータを用いて構築子の宣言クラスの新規インスタンスを生成および初期化します。個々のパラメータは、プリミティブ形式パラメータに一致するように自動的にアンラップされ、プリミティブおよび参照の両パラメータは必要に応じて拡張変換に従います。新しく生成および初期化されたオブジェクトを返します。

生成処理は、以下の手順で行います:

 



目次 | 前項目 | 次項目
Copyright (C) 1996, 1997 Sun Microsystems, Inc. All rights reserved.