JavaTM 2 Platform
Standard Ed. 5.0

java.lang.reflect
クラス Constructor<T>

java.lang.Object
  上位を拡張 java.lang.reflect.AccessibleObject
      上位を拡張 java.lang.reflect.Constructor<T>
すべての実装されたインタフェース:
AnnotatedElement, GenericDeclaration, Member

public final class Constructor<T>
extends AccessibleObject
implements GenericDeclaration, Member

Constructor は、クラスの単一コンストラクタについての情報とそのアクセスを提供します。

Constructor は、基になるコンストラクタの仮パラメータと、newInstance() への実パラメータを一致させる場合に、拡張変換が発生することを許可しますが、縮小変換が発生する場合は IllegalArgumentException をスローします。

関連項目:
Member, Class, Class.getConstructors(), Class.getConstructor(Class[]), Class.getDeclaredConstructors()

フィールドの概要
 
インタフェース java.lang.reflect.Member から継承されたフィールド
DECLARED, PUBLIC
 
メソッドの概要
 boolean equals(Object obj)
          Constructor を指定されたオブジェクトと比較します。
<T extends Annotation>
T
getAnnotation(Class<T> annotationClass)
          指定された型の注釈が存在する場合は、指定された型の要素の注釈を返します。
 Annotation[] getDeclaredAnnotations()
          この要素に直接存在するすべての注釈を返します。
 Class<T> getDeclaringClass()
          Constructor オブジェクトによって表されるコンストラクタを宣言するクラスを表す Class オブジェクトを返します。
 Class<?>[] getExceptionTypes()
          この Constructor オブジェクトで表される基になるコンストラクタによってスローされるように宣言されている、例外の型を表す Class オブジェクトの配列を返します。
 Type[] getGenericExceptionTypes()
          この Constructor オブジェクトによってスローされることが宣言されている例外を表す Type オブジェクトの配列を返します。
 Type[] getGenericParameterTypes()
          Constructor オブジェクトによって表されるメソッドの仮パラメータ型を宣言順で表す Type オブジェクトの配列を返します。
 int getModifiers()
          Constructor オブジェクトによって表されるコンストラクタの Java 言語修飾子を整数として返します。
 String getName()
          このコンストラクタの名前を文字列として返します。
 Annotation[][] getParameterAnnotations()
          この Method オブジェクトにより表されたメソッドの仮パラメータの注釈を表す配列の配列を、宣言順に返します。
 Class<?>[] getParameterTypes()
          Constructor オブジェクトによって表されるコンストラクタの仮パラメータ型を宣言順で表す Class オブジェクトの配列を返します。
 TypeVariable<Constructor<T>>[] getTypeParameters()
          GenericDeclaration オブジェクトによって表される汎用的な宣言で宣言された型変数を表す TypeVariable オブジェクトの配列を宣言順に返します。
 int hashCode()
          Constructor のハッシュコードを返します。
 boolean isSynthetic()
          このコンストラクタが合成コンストラクタである場合は true を返し、そうでない場合は false を返します。
 boolean isVarArgs()
          このコンストラクタが可変数の引数を取るように宣言されていた場合は true を返し、そうでない場合は false を返します。
 T newInstance(Object... initargs)
          指定された初期化パラメータで、このコンストラクタの宣言クラスの新しいインスタンスを作成および初期化する場合は、この Constructor オブジェクトによって表されるコンストラクタを使用します。
 String toGenericString()
          型パラメータを含む、この Constructor を記述する文字列を返します。
 String toString()
          Constructor を記述する文字列を返します。
 
クラス java.lang.reflect.AccessibleObject から継承されたメソッド
getAnnotations, isAccessible, isAnnotationPresent, setAccessible, setAccessible
 
クラス java.lang.Object から継承されたメソッド
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

メソッドの詳細

getDeclaringClass

public Class<T> getDeclaringClass()
Constructor オブジェクトによって表されるコンストラクタを宣言するクラスを表す Class オブジェクトを返します。

定義:
インタフェース Member 内の getDeclaringClass
戻り値:
基本となるメンバの宣言クラスを表すオブジェクト

getName

public String getName()
このコンストラクタの名前を文字列として返します。これは常に、コンストラクタを宣言したクラスの単純名と同じです。

定義:
インタフェース Member 内の getName
戻り値:
基本となるメンバの単純名

getModifiers

public int getModifiers()
Constructor オブジェクトによって表されるコンストラクタの Java 言語修飾子を整数として返します。修飾子を復号化する場合に、Modifier クラスを使用する必要があります。

定義:
インタフェース Member 内の getModifiers
戻り値:
基本となるメンバの Java 言語修飾子
関連項目:
Modifier

getTypeParameters

public TypeVariable<Constructor<T>>[] getTypeParameters()
GenericDeclaration オブジェクトによって表される汎用的な宣言で宣言された型変数を表す TypeVariable オブジェクトの配列を宣言順に返します。基になる汎用的な宣言で型変数が宣言されていない場合は、長さ 0 の配列が返されます。

定義:
インタフェース GenericDeclaration 内の getTypeParameters
戻り値:
この汎用的な宣言で宣言された型変数を表す TypeVariable オブジェクトの配列
例外:
GenericSignatureFormatError - この汎用的な宣言の汎用的な署名が『Java 仮想マシン仕様第 3 版』で規定される書式に適合しない場合
導入されたバージョン:
1.5

getParameterTypes

public Class<?>[] getParameterTypes()
Constructor オブジェクトによって表されるコンストラクタの仮パラメータ型を宣言順で表す Class オブジェクトの配列を返します。基になるコンストラクタにパラメータが設定されていない場合には、長さ 0 の配列が返されます。

戻り値:
このオブジェクトが表すコンストラクタのパラメータ型

getGenericParameterTypes

public Type[] getGenericParameterTypes()
Constructor オブジェクトによって表されるメソッドの仮パラメータ型を宣言順で表す Type オブジェクトの配列を返します。基になるメソッドにパラメータが設定されていない場合には、長さ 0 の配列が返されます。

仮パラメータ型が、パラメータ化された型の場合、返される Type オブジェクトは、ソースコードで使用される実際の型パラメータを正確に反映しなければなりません。

仮パラメータ型が、型変数またはパラメータ化された型の場合、仮パラメータ型は作成されます。そうでない場合、仮パラメータ型は解決されます。

戻り値:
基本となるメソッドの仮パラメータ型を表す、宣言順の Type の配列
例外:
GenericSignatureFormatError - この汎用的なメソッドの署名が『Java 仮想マシン仕様第 3 版』で規定される書式に適合しない場合
TypeNotPresentException - 基本となるメソッドのパラメータ型のどれかが、存在しない型宣言を参照する場合
MalformedParameterizedTypeException - 基本となるメソッドのパラメータ型のどれかが、何らかの理由によりインスタンス化できないパラメータ化された型を参照する場合
導入されたバージョン:
1.5

getExceptionTypes

public Class<?>[] getExceptionTypes()
この Constructor オブジェクトで表される基になるコンストラクタによってスローされるように宣言されている、例外の型を表す Class オブジェクトの配列を返します。コンストラクタが throws 節で例外を宣言していない場合は、長さ 0 の配列を返します。

戻り値:
宣言される例外タイプ。このオブジェクトが表すコンストラクタによりスローされる

getGenericExceptionTypes

public Type[] getGenericExceptionTypes()
この Constructor オブジェクトによってスローされることが宣言されている例外を表す Type オブジェクトの配列を返します。基本となるメソッドが throws 節で例外を宣言していない場合は、長さ 0 の配列を返します。

例外タイプが、パラメータ化された型の場合、返される Type オブジェクトは、ソースコードで使用される実際の型パラメータを正確に反映しなければなりません。

例外タイプが、型変数またはパラメータ化された型の場合、例外タイプは作成されます。そうでない場合、例外タイプは解決されます。

戻り値:
基本となるメソッドによりスローされた例外タイプを表す Type の配列
例外:
GenericSignatureFormatError - この汎用的なメソッドの署名が『Java 仮想マシン仕様第 3 版』で規定される書式に適合しない場合
TypeNotPresentException - 基本となるメソッドの throws 節が存在しない型宣言を参照する場合
MalformedParameterizedTypeException - 基本となるメソッドの throws 節が、何らかの理由によりインスタンス化できないパラメータ化された型を参照する場合
導入されたバージョン:
1.5

equals

public boolean equals(Object obj)
Constructor を指定されたオブジェクトと比較します。オブジェクトが同じ場合には true を返します。2 つの Constructor オブジェクトは、同じクラスで宣言され、同じ仮パラメータ型が設定されている場合には同じです。

オーバーライド:
クラス Object 内の equals
パラメータ:
obj - 比較対象の参照オブジェクト
戻り値:
obj 引数に指定されたオブジェクトとこのオブジェクトが等しい場合は true、そうでない場合は false
関連項目:
Object.hashCode(), Hashtable

hashCode

public int hashCode()
Constructor のハッシュコードを返します。このハッシュコードは、クラス名を宣言する基になるコンストラクタのハッシュコードと同じです。

オーバーライド:
クラス Object 内の hashCode
戻り値:
このオブジェクトのハッシュコード値
関連項目:
Object.equals(java.lang.Object), Hashtable

toString

public String toString()
Constructor を記述する文字列を返します。この文字列の書式は、(存在する場合には) コンストラクタのアクセス修飾子、定義クラスの完全修飾名、括弧で囲まれたコンマ区切りのコンストラクタの仮パラメータ型のリストが順番に続きます。以下に例を示します。

    public java.util.Hashtable(int,float)
 

コンストラクタに指定できる修飾子は、アクセス修飾子の publicprotected または private だけです。指定できる修飾子は 1 つだけです。デフォルト (package) アクセスを持つコンストラクタでは、1 つも指定しません。

オーバーライド:
クラス Object 内の toString
戻り値:
このオブジェクトの文字列表現

toGenericString

public String toGenericString()
型パラメータを含む、この Constructor を記述する文字列を返します。この文字列の書式は、(存在する場合には) コンストラクタのアクセス修飾子、山括弧で囲まれたコンマ区切りのコンストラクタの型パラメータリスト、宣言クラスの完全修飾名、括弧で囲まれたコンマ区切りのコンストラクタの汎用仮パラメータ型のリストが順番に続きます。アクセス修飾子同士、およびアクセス修飾子と型パラメータや戻り値との区切りには空白文字が使用されます。型パラメータがない場合、型パラメータのリストは省略されます。型パラメータのリストが存在する場合、リストとクラス名は空白文字で区切られます。コンストラクタが例外をスローするように宣言されている場合、パラメータのリストのあとに空白、「throws」という文字列、コンマ区切りのスローされる例外型が順番に続きます。

コンストラクタに指定できる修飾子は、アクセス修飾子の publicprotected または private だけです。指定できる修飾子は 1 つだけです。デフォルト (package) アクセスを持つコンストラクタでは、1 つも指定しません。

戻り値:
型パラメータを含む、この Constructor を記述する文字列
導入されたバージョン:
1.5

newInstance

public T newInstance(Object... initargs)
              throws InstantiationException,
                     IllegalAccessException,
                     IllegalArgumentException,
                     InvocationTargetException
指定された初期化パラメータで、このコンストラクタの宣言クラスの新しいインスタンスを作成および初期化する場合は、この Constructor オブジェクトによって表されるコンストラクタを使用します。個々のパラメータは、プリミティブな仮パラメータと一致させるために自動的にラップ解除され、プリミティブパラメータと参照パラメータは両方とも必要に応じてメソッド呼び出し変換の対象になります。

基本となるコンストラクタによって要求される仮パラメータ数が 0 の場合、指定された initargs 配列は長さ 0 または null になります。

要求されたアクセスおよび引数チェックが成功し、インスタンス化を実行する場合、コンストラクタの宣言クラスが初期化されていなければ、初期化が行われます。

コンストラクタが正常に完了すると、新しく作成および初期化されたインスタンスが返されます。

パラメータ:
initargs - コンストラクタ呼び出しに引数として渡すオブジェクトの配列。プリミティブ型の値は、適切な型のラッパーオブジェクト内にラップされる (例、Float 内の float)
戻り値:
このオブジェクトが表すコンストラクタを呼び出すことで作成される新規オブジェクト
例外:
IllegalAccessException - この Constructor オブジェクトが Java 言語アクセス制御を実施し、基本となるコンストラクタにアクセスできない場合
IllegalArgumentException - 実パラメータ数と仮パラメータ数が異なる場合、プリミティブ引数のラップ解除変換が失敗した場合、またはラップ解除後、メソッド呼び出し変換によってパラメータ値を対応する仮パラメータ型に変換できない場合、このコンストラクタが列挙型に関連している場合
InstantiationException - 基本となるコンストラクタを宣言するクラスが abstract クラスを表す場合
InvocationTargetException - 基本となるコンストラクタが例外をスローする場合
ExceptionInInitializerError - このメソッドによる初期化が失敗した場合

isVarArgs

public boolean isVarArgs()
このコンストラクタが可変数の引数を取るように宣言されていた場合は true を返し、そうでない場合は false を返します。

戻り値:
このコンストラクタが可変数の引数を取るように宣言されていた場合は true
導入されたバージョン:
1.5

isSynthetic

public boolean isSynthetic()
このコンストラクタが合成コンストラクタである場合は true を返し、そうでない場合は false を返します。

定義:
インタフェース Member 内の isSynthetic
戻り値:
このコンストラクタが、『Java 言語仕様』で定義されている合成コンストラクタである場合に限り、true
導入されたバージョン:
1.5

getAnnotation

public <T extends Annotation> T getAnnotation(Class<T> annotationClass)
インタフェース AnnotatedElement の記述:
指定された型の注釈が存在する場合は、指定された型の要素の注釈を返します。そうでない場合は null を返します。

定義:
インタフェース AnnotatedElement 内の getAnnotation
オーバーライド:
クラス AccessibleObject 内の getAnnotation
パラメータ:
annotationClass - 注釈型に対応する Class オブジェクト
戻り値:
存在する場合は、指定された注釈型の要素の注釈。そうでない場合は null

getDeclaredAnnotations

public Annotation[] getDeclaredAnnotations()
インタフェース AnnotatedElement の記述:
この要素に直接存在するすべての注釈を返します。このインタフェースにある他のメソッドとは異なり、このメソッドは継承された注釈を無視します (この要素に注釈が直接存在しない場合は長さゼロの配列を返す)。このメソッドの呼び出し元は、返された配列を自由に変更できます。この変更は、他の呼び出し元に返された配列に影響を及ぼしません。

定義:
インタフェース AnnotatedElement 内の getDeclaredAnnotations
オーバーライド:
クラス AccessibleObject 内の getDeclaredAnnotations
戻り値:
この要素に直接存在するすべての注釈

getParameterAnnotations

public Annotation[][] getParameterAnnotations()
この Method オブジェクトにより表されたメソッドの仮パラメータの注釈を表す配列の配列を、宣言順に返します。基本となるメソッドがパラメータを含まない場合は、長さゼロの配列を返します。メソッドに 1 つ以上のパラメータがある場合、注釈を含まないパラメータごとに長さゼロの入れ子の配列を返します。返された配列に含まれる注釈オブジェクトは直列化できます。このメソッドの呼び出し元は、返された配列を自由に変更できます。この変更は、ほかの呼び出し元に返された配列に影響を及ぼしません。

戻り値:
この Method オブジェクトにより表されたメソッドの仮パラメータの注釈を表す宣言順の配列の配列
導入されたバージョン:
1.5

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。