- java.lang.Object
- 
- java.lang.reflect.AccessibleObject
- 
- java.lang.reflect.Executable
- 
- java.lang.reflect.Constructor<T>
 
 
 
- 
- 型パラメータ:
- T- コンストラクタが宣言されているクラス
 - すべての実装されたインタフェース:
- AnnotatedElement,- GenericDeclaration,- Member
 
 public final class Constructor<T> extends Executable Constructorは、クラスの単一コンストラクタについての情報と単一コンストラクタへのアクセスを提供します。Constructorは、基になるコンストラクタの仮パラメータと、newInstance()への実パラメータを一致させる場合に、拡張変換が発生することを許可しますが、縮小変換が発生する場合はIllegalArgumentExceptionをスローします。- 導入されたバージョン:
- 1.1
- 関連項目:
- Member,- Class,- Class.getConstructors(),- Class.getConstructor(Class[]),- Class.getDeclaredConstructors()
 
- 
- 
メソッドのサマリー修飾子と型 メソッド 説明 booleanequals(Object obj)このConstructorを指定されたオブジェクトと比較します。AnnotatedTypegetAnnotatedReceiverType()このExecutableオブジェクトによって表されるメソッド/コンストラクタのレシーバ型を指定する型の使用を表すAnnotatedTypeオブジェクトを返します。AnnotatedTypegetAnnotatedReturnType()このExecutableによって表されるメソッドまたはコンストラクタの戻り型を指定する型の使用を表すAnnotatedTypeオブジェクトを返します。<T extends Annotation>
 TgetAnnotation(クラス<T> annotationClass)存在する場合は、この要素の指定された型の注釈を返し、そうでない場合はnullを返します。Annotation[]getDeclaredAnnotations()この要素に直接存在する注釈を返します。Class<T>getDeclaringClass()このオブジェクトが表すコンストラクタを宣言するクラスを表すClassオブジェクトを返します。Type[]getGenericExceptionTypes()このexecutableオブジェクトによってスローされることが宣言されている例外を表すTypeオブジェクトの配列を返します。Type[]getGenericParameterTypes()このオブジェクトによって表される実行可能要素の仮パラメータ型を宣言順で表すTypeオブジェクトの配列を返します。StringgetName()このコンストラクタの名前を文字列として返します。Annotation[][]getParameterAnnotations()このオブジェクトによって表されるExecutableの仮パラメータの注釈を表すAnnotationの配列の配列を、宣言順に返します。intgetParameterCount()このオブジェクトによって表される実行可能要素の仮パラメータ(明示的に宣言されているか、暗黙的に宣言されているか、そのいずれでもないかに関係なく)の数を返します。TypeVariable<Constructor<T>>[]getTypeParameters()GenericDeclarationオブジェクトによって表されるジェネリック宣言で宣言された型変数を表すTypeVariableオブジェクトの配列を宣言順に返します。inthashCode()このConstructorのハッシュ・コードを返します。booleanisSynthetic()この実行可能要素が合成構造である場合はtrueを返し、そうでない場合はfalseを返します。booleanisVarArgs()この実行可能要素が可変数の引数を取るように宣言されていた場合はtrueを返し、そうでない場合はfalseを返します。TnewInstance(Object... initargs)指定された初期化パラメータで、このコンストラクタの宣言クラスの新しいインスタンスを作成および初期化する場合は、このConstructorオブジェクトによって表されるコンストラクタを使用します。voidsetAccessible(boolean flag)このリフレクトされたオブジェクトのaccessibleフラグを、指定されたブール値に設定します。StringtoGenericString()型パラメータを含む、このConstructorを記述する文字列を返します。StringtoString()このConstructorを記述する文字列を返します。- 
クラス java.lang.reflect.Executableで宣言されたメソッドgetAnnotatedExceptionTypes, getAnnotatedParameterTypes, getAnnotationsByType, getExceptionTypes, getModifiers, getParameters, getParameterTypes
 - 
クラス java.lang.reflect.AccessibleObjectで宣言されたメソッドcanAccess, getAnnotations, getDeclaredAnnotation, getDeclaredAnnotationsByType, isAccessible, isAnnotationPresent, setAccessible, trySetAccessible
 - 
インタフェース java.lang.reflect.AnnotatedElementで宣言されたメソッドgetAnnotations, getDeclaredAnnotation, getDeclaredAnnotationsByType, isAnnotationPresent
 
- 
 
- 
- 
- 
メソッドの詳細- 
setAccessiblepublic void setAccessible(boolean flag) このリフレクトされたオブジェクトのaccessibleフラグを、指定されたブール値に設定します。trueの値は、リフレクトされたオブジェクトが使用されたときに、Java言語のアクセス制御のチェックを抑制すべきであることを示します。falseの値は、リフレクトされたオブジェクトが、使用時にJava言語のアクセス制御をチェックし、クラスの説明に記載されているバリエーションを適用する必要があることを示します。このメソッドは、 Cクラスの呼び出し側がdeclaring classDのmemberへのアクセスを可能にするために使用されます:-  CとDは同じモジュールにあります。
-  メンバーはpublicであり、Dはパッケージ内のpublicであり、Dexportsを含むモジュールは少なくともCを含むモジュールに含まれます。
-  メンバーはprotectedstatic、Dはパッケージ内のpublicであり、Dを含むモジュールは少なくともCを含むモジュールにエクスポートし、CはDのサブクラスです。
-  Dは、少なくともCを含むモジュールにDopensを含むモジュールがパッケージされています。 名前のないモジュールと開いているモジュールのすべてのパッケージはすべてのモジュールに対してオープンであるため、このメソッドは、Dが名前のないモジュールまたは開いているモジュールにあるときには常に成功します。
 このメソッドは、宣言クラスが呼び出し元とは異なるモジュールにあり、宣言クラスを含むパッケージが呼び出し元に対して開かれていない場合に、privateメンバー、デフォルト(package)アクセスを持つメンバー、保護されたインスタンス・メンバー、または保護されたコンストラクタ・モジュール。 セキュリティ・マネージャがある場合、その checkPermissionメソッドは最初にReflectPermission("suppressAccessChecks")パーミッションで呼び出されます。このオブジェクトが ClassクラスのConstructorオブジェクトであり、flagがtrueの場合、SecurityExceptionもスローされます。- オーバーライド:
- クラスAccessibleObjectのsetAccessible
- パラメータ:
- flag-- accessibleフラグの新しい値
- 例外:
- InaccessibleObjectException- アクセスを有効にできない場合
- SecurityException- リクエストがセキュリティ・マネージャによって拒否された場合、またはこれが- java.lang.Classのコンストラクタである場合
- 関連項目:
- AccessibleObject.trySetAccessible(),- MethodHandles.privateLookupIn(java.lang.Class<?>, java.lang.invoke.MethodHandles.Lookup)
 
-  
 - 
getDeclaringClasspublic Class<T> getDeclaringClass() このオブジェクトが表すコンストラクタを宣言するクラスを表すClassオブジェクトを返します。- 定義:
- getDeclaringClass、インタフェース:- Member
- 定義:
- getDeclaringClass、クラス:- Executable
- 戻り値:
- 基本となるメンバーの宣言クラスを表すオブジェクト
 
 - 
getNamepublic String getName() このコンストラクタの名前を文字列として返します。 これは、コンストラクタを宣言したクラスのバイナリ名です。- 定義:
- getName、インタフェース:- Member
- 定義:
- getName、クラス:- Executable
- 戻り値:
- 基本となるメンバーの単純名
 
 - 
getTypeParameterspublic TypeVariable<Constructor<T>>[] getTypeParameters() GenericDeclarationオブジェクトによって表されるジェネリック宣言で宣言された型変数を表すTypeVariableオブジェクトの配列を宣言順に返します。 基になるジェネリック宣言で型変数が宣言されていない場合は、長さ0の配列が返されます。- 定義:
- getTypeParameters、インタフェース:- GenericDeclaration
- 定義:
- getTypeParameters、クラス:- Executable
- 戻り値:
- このジェネリック宣言で宣言された型変数を表すTypeVariableオブジェクトの配列
- 例外:
- GenericSignatureFormatError- このジェネリック宣言のジェネリック・シグネチャが『Java™仮想マシン仕様』で規定される書式に適合しない場合
- 導入されたバージョン:
- 1.5
 
 - 
getParameterCountpublic int getParameterCount() このオブジェクトによって表される実行可能要素の仮パラメータ(明示的に宣言されているか、暗黙的に宣言されているか、そのいずれでもないかに関係なく)の数を返します。- オーバーライド:
- getParameterCount、クラス:- Executable
- 戻り値:
- このオブジェクトが表す実行可能要素の仮パラメータの数
- 導入されたバージョン:
- 1.8
 
 - 
getGenericParameterTypespublic Type[] getGenericParameterTypes() このオブジェクトによって表される実行可能要素の仮パラメータ型を宣言順で表すTypeオブジェクトの配列を返します。 基礎となる実行可能要素にパラメータが設定されていない場合には、長さ0の配列が返されます。仮パラメータ型が、パラメータ化された型の場合、返される Typeオブジェクトは、ソース・コードで使用される実際の型パラメータを正確に反映しなければいけません。仮パラメータ型が、型変数またはパラメータ化された型の場合、仮パラメータ型は作成されます。 そうでない場合、例外タイプは解決されます。 - オーバーライド:
- getGenericParameterTypes、クラス:- Executable
- 戻り値:
- 基礎となる実行可能要素の仮パラメータ型を表す、宣言順のTypeの配列
- 例外:
- GenericSignatureFormatError- ジェネリック・メソッドのシグネチャが『Java™仮想マシン仕様』で規定される書式に適合しない場合
- TypeNotPresentException- 基礎となる実行可能要素のパラメータ型のいずれかが、存在しない型宣言を参照する場合
- MalformedParameterizedTypeException- 基礎となる実行可能要素のパラメータ型のいずれかが、なんらかの理由によりインスタンス化できないパラメータ化された型を参照する場合
- 導入されたバージョン:
- 1.5
 
 - 
getGenericExceptionTypespublic Type[] getGenericExceptionTypes() このexecutableオブジェクトによってスローされることが宣言されている例外を表すTypeオブジェクトの配列を返します。 基礎となる実行可能要素がthrows節で例外を宣言していない場合は、長さ0の配列を返します。例外タイプが、型変数またはパラメータ化された型の場合、例外タイプは作成されます。 そうでない場合、例外タイプは解決されます。 - オーバーライド:
- getGenericExceptionTypes、クラス:- Executable
- 戻り値:
- 基礎となる実行可能要素によりスローされた例外タイプを表すTypeの配列
- 例外:
- GenericSignatureFormatError- ジェネリック・メソッドのシグネチャが『Java™仮想マシン仕様』で規定される書式に適合しない場合
- TypeNotPresentException- 基礎となる実行可能要素の- throws節が存在しない型宣言を参照する場合
- MalformedParameterizedTypeException- 基礎となる実行可能要素の- throws節が、なんらかの理由によりインスタンス化できないパラメータ化された型を参照する場合
- 導入されたバージョン:
- 1.5
 
 - 
equalspublic boolean equals(Object obj) このConstructorを指定されたオブジェクトと比較します。 オブジェクトが同じ場合にはtrueを返します。 2つのConstructorオブジェクトは、同じクラスで宣言され、同じ仮パラメータ型が設定されている場合には同じです。- オーバーライド:
- equals、クラス:- Object
- パラメータ:
- obj- 比較対象の参照オブジェクト。
- 戻り値:
- このオブジェクトがobj引数と同じである場合はtrue、それ以外の場合はfalse。
- 関連項目:
- Object.hashCode()、- HashMap
 
 - 
hashCodepublic int hashCode() このConstructorのハッシュ・コードを返します。 このハッシュ・コードは、クラス名を宣言する基になるコンストラクタのハッシュ・コードと同じです。- オーバーライド:
- hashCode、クラス:- Object
- 戻り値:
- このオブジェクトのハッシュ・コード値。
- 関連項目:
- Object.equals(java.lang.Object),- System.identityHashCode(java.lang.Object)
 
 - 
toStringpublic String toString() このConstructorを記述する文字列を返します。 この文字列の書式は、(存在する場合には)コンストラクタのアクセス修飾子、定義クラスの完全指定名、カッコで囲まれたカンマ区切りのコンストラクタの仮パラメータ型のリストが順番に続きます。 次に例を示します。public java.util.Hashtable(int,float)コンストラクタが例外をスローするように宣言されている場合、パラメータのリストのあとに空白、 throwsという文字列、カンマ区切りのスローされる例外型が順番に続きます。コンストラクタに指定できる修飾子は、アクセス修飾子の public、protectedまたはprivateだけです。 指定できる修飾子は1つだけです。デフォルト(package)アクセスを持つコンストラクタでは、1つも指定しません。
 - 
toGenericStringpublic String toGenericString() 型パラメータを含む、このConstructorを記述する文字列を返します。 その文字列は、コンストラクタ・アクセス修飾子として書式設定されます。そのあとに、コンストラクタ・タイプのパラメータの空白区切りのカンマ区切りのリストがある場合は、そのパラメータの情報境界を含む任意の場合は、宣言されたクラスの完全修飾名が後に続き、その次にコンストラクタ汎用仮パラメータ・タイプの親で区切られたカンマ区切りのリストが続きます。 このコンストラクタが可変数の引数を取るように宣言されていた場合は、最後のパラメータが"Type[]"として示されるのではなく、"Type..."として示されます。 スペースは、アクセス修飾子を互いに、型パラメータまたはクラス名から分離するために使用されます。 型パラメータがない場合、型パラメータのリストは省略されます。型パラメータのリストが存在する場合、リストとクラス名は空白文字で区切られます。 例外をスローするようにコンストラクタが宣言されている場合は、パラメータ・リストの後にスペースが続き、その後に"throws"という単語が続き、スローされたジェネリックな例外型のカンマ区切りリストが続きます。コンストラクタに指定できる修飾子は、アクセス修飾子の public、protectedまたはprivateだけです。 指定できる修飾子は1つだけです。デフォルト(package)アクセスを持つコンストラクタでは、1つも指定しません。- 定義:
- toGenericString、クラス:- Executable
- 戻り値:
- 型パラメータを含む、このConstructorを記述する文字列
- 導入されたバージョン:
- 1.5
- Java™言語仕様:
- 8.8.3コンストラクタ修飾子、8.9.2列挙型本文宣言
 
 - 
newInstancepublic T newInstance(Object... initargs) throws InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException 指定された初期化パラメータで、このコンストラクタの宣言クラスの新しいインスタンスを作成および初期化する場合は、このConstructorオブジェクトによって表されるコンストラクタを使用します。 個別のパラメータは、プリミティブ仮パラメータと一致させるために自動的にラップ解除され、プリミティブおよび参照パラメータは両方とも必要に応じてメソッド呼出し変換の対象になります。基本となるコンストラクタによって要求される仮パラメータ数が0の場合、指定された initargs配列は長さ0またはnullになります。コンストラクタの宣言クラスが非staticコンテキスト内の内部クラスである場合、コンストラクタへの最初の引数は囲むインスタンスである必要があります。『Java™言語仕様』のセクション15.9.3を参照してください。 要求されたアクセスおよび引数チェックが成功し、インスタンス化を実行する場合、コンストラクタの宣言クラスが初期化されていなければ、初期化が行われます。 コンストラクタが正常に完了すると、新しく生成および初期化されたインスタンスが返されます。 - パラメータ:
- initargs- コンストラクタ呼出しに引数として渡すオブジェクトの配列。プリミティブ型の値は、適切な型のラッパー・オブジェクト内にラップされる(例、- Float内の- float)
- 戻り値:
- このオブジェクトが表すコンストラクタを呼び出すことで作成される新規オブジェクト
- 例外:
- IllegalAccessException- この- ConstructorオブジェクトがJava言語アクセス制御を実施し、基本となるコンストラクタにアクセスできない場合。
- IllegalArgumentException- 実パラメータ数と仮パラメータ数が異なる場合、プリミティブ引数のラップ解除変換が失敗した場合、またはラップ解除後、メソッド呼出し変換によってパラメータ値を対応する仮パラメータ型に変換できない場合、このコンストラクタが列挙型に関連している場合。
- InstantiationException- 基本となるコンストラクタを宣言するクラスが抽象クラスを表す場合。
- InvocationTargetException- 基本となるコンストラクタが例外をスローする場合。
- ExceptionInInitializerError- このメソッドによる初期化に失敗した場合。
 
 - 
isVarArgspublic boolean isVarArgs() この実行可能要素が可変数の引数を取るように宣言されていた場合はtrueを返し、そうでない場合はfalseを返します。- オーバーライド:
- isVarArgs、クラス:- Executable
- 戻り値:
- この実行可能要素が可変数の引数を取るように宣言されていた場合に限りtrue。
- 導入されたバージョン:
- 1.5
 
 - 
isSyntheticpublic boolean isSynthetic() この実行可能要素が合成構造である場合はtrueを返し、そうでない場合はfalseを返します。- 定義:
- isSynthetic、インタフェース:- Member
- オーバーライド:
- isSynthetic、クラス:- Executable
- 戻り値:
- この実行可能要素が、『Java™言語仕様』で定義されている合成構造である場合に限り、true。
- 導入されたバージョン:
- 1.5
- Java™言語仕様:
- 13.1 バイナリの形式
 
 - 
getAnnotationpublic <T extends Annotation> T getAnnotation(Class<T> annotationClass) 存在する場合は、この要素の指定された型の注釈を返し、そうでない場合はnullを返します。- 定義:
- getAnnotation、インタフェース:- AnnotatedElement
- オーバーライド:
- getAnnotation、クラス:- Executable
- 型パラメータ:
- T- 照会し、存在する場合に返す注釈の型。
- パラメータ:
- annotationClass- 注釈型に対応するClassオブジェクト
- 戻り値:
- 存在する場合は、この要素の指定された注釈型の注釈。そうでない場合はnull
- 例外:
- NullPointerException- 指定された注釈クラスがnullの場合
- 導入されたバージョン:
- 1.5
 
 - 
getDeclaredAnnotationspublic Annotation[] getDeclaredAnnotations() この要素に直接存在する注釈を返します。 このメソッドは継承された注釈を無視します。 この要素に直接存在する注釈がない場合、戻り値は長さ0の配列です。 このメソッドの呼出し元は、返された配列を自由に変更することができ、これはほかの呼出し元に返された配列に影響を及ぼしません。- 定義:
- getDeclaredAnnotations、インタフェース:- AnnotatedElement
- オーバーライド:
- getDeclaredAnnotations、クラス:- AccessibleObject
- 戻り値:
- この要素に直接存在する注釈
- 導入されたバージョン:
- 1.5
 
 - 
getParameterAnnotationspublic Annotation[][] getParameterAnnotations() このオブジェクトによって表されるExecutableの仮パラメータの注釈を表すAnnotationの配列の配列を、宣言順に返します。 返される配列では、内部クラス・コンストラクタに対する外部のthisパラメータなど、合成および必須パラメータ(次の説明を参照)が表されます。 実行可能要素がパラメータを持たない(つまり、仮パラメータも合成パラメータも必須パラメータも持たない)場合は、長さ0の配列が返されます。実行可能要素に1つ以上のパラメータがある場合、注釈を含まないパラメータごとに長さゼロの入れ子の配列を返します。 返された配列に含まれる注釈オブジェクトは直列化できます。 このメソッドの呼出し元は、返された配列を自由に変更できます。この変更は、ほかの呼出し元に返された配列に影響を及ぼしません。 コンパイラによって、ソースで暗黙的に宣言されている追加のパラメータ("必須")、およびソースで暗黙的にも明示的にも宣言されていないパラメータ("合成")がメソッドのパラメータ・リストに追加されることがあります。 詳細は、Parameterを参照してください。- 定義:
- getParameterAnnotations、クラス:- Executable
- 戻り値:
- このオブジェクトにより表された実行可能要素の仮パラメータおよび暗黙的なパラメータの注釈を表す宣言順の配列の配列
- 導入されたバージョン:
- 1.5
- 関連項目:
- Parameter,- AnnotatedElement.getAnnotations()
 
 - 
getAnnotatedReturnTypepublic AnnotatedType getAnnotatedReturnType() このExecutableによって表されるメソッドまたはコンストラクタの戻り型を指定する型の使用を表すAnnotatedTypeオブジェクトを返します。 このExecutableオブジェクトがコンストラクタを表す場合、AnnotatedTypeオブジェクトは構築されるオブジェクトの型を表します。 このExecutableオブジェクトがメソッドを表す場合、AnnotatedTypeオブジェクトはメソッドの戻り型を指定する型の使用を表します。- 定義:
- getAnnotatedReturnType、クラス:- Executable
- 戻り値:
- このExecutableが表すメソッドまたはコンストラクタの戻り型を表すオブジェクト
- 導入されたバージョン:
- 1.8
 
 - 
getAnnotatedReceiverTypepublic AnnotatedType getAnnotatedReceiverType() このExecutableオブジェクトによって表されるメソッド/コンストラクタのレシーバ型を指定する型の使用を表すAnnotatedTypeオブジェクトを返します。 メソッドまたはコンストラクタのレシーバの型は、メソッドまたはコンストラクタがレシーバ・パラメータ(JLS 8.4.1)を持つ場合にのみ使用できます。 このExecutableオブジェクト「インスタンス・メソッドを表すか、内部メンバー・クラスのコンストラクタを表します。」とメソッド/コンストラクタeitherに受信側パラメータがない場合、または型に注釈のない受信側パラメータがある場合、戻り値は注釈のない要素を表すAnnotatedTypeオブジェクトです。 このExecutableオブジェクトが静的メソッドを表している場合、または最上位、静的メンバー、ローカル、または匿名クラスのコンストラクタを表す場合、戻り値はnullです。- オーバーライド:
- getAnnotatedReceiverType、クラス:- Executable
- 戻り値:
- このExecutableが受信機パラメータを持つことができない場合、このExecutableまたはnullによって表されるメソッドまたはコンストラクタのレシーバ型を表すオブジェクト
- 導入されたバージョン:
- 1.8
 
 
- 
 
-