クラスConstructor<T>
- 型パラメータ:
T- コンストラクタが宣言されるクラス
- すべての実装されたインタフェース:
AnnotatedElement,GenericDeclaration,Member
Constructorは、クラスの単一コンストラクタについての情報と単一コンストラクタへのアクセスを提供します。
Constructorは、基になるコンストラクタの仮パラメータと、newInstance()への実パラメータを一致させる場合に、拡張変換が発生することを許可しますが、縮小変換が発生する場合はIllegalArgumentExceptionをスローします。
- 導入されたバージョン:
- 1.1
- 関連項目:
-
フィールドのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明booleanこのConstructorを指定されたオブジェクトと比較します。このExecutableオブジェクトで表されるメソッド/コンストラクタのレシーバ・タイプを指定するための型の使用を表すAnnotatedTypeオブジェクトを返します。このExecutableによって表されるメソッドまたはコンストラクタの戻り型を指定する型の使用を表すAnnotatedTypeオブジェクトを返します。<T extends Annotation>
TgetAnnotation(Class<T> annotationClass) 存在する場合は、この要素の指定された型の注釈を返し、そうでない場合はnullを返します。この要素に直接存在する注釈を返します。このオブジェクトによって表されるコンストラクタを宣言するクラスを表すClassオブジェクトを返します。Class<?>[]このオブジェクトで表される基礎となる実行可能ファイルによってスローされるように宣言されている例外の型を表すClassオブジェクトの配列を返します。Type[]このexecutableオブジェクトによってスローされることが宣言されている例外を表すTypeオブジェクトの配列を返します。Type[]このオブジェクトによって表される実行可能要素の仮パラメータ型を宣言順で表すTypeオブジェクトの配列を返します。intこのオブジェクトによって表される実行可能要素のJava言語修飾子を返します。getName()このコンストラクタの名前を文字列として返します。Annotation[][]このオブジェクトによって表されるExecutableの仮パラメータの注釈を表すAnnotationの配列の配列を、宣言順に返します。intこのオブジェクトによって表される実行可能要素の仮パラメータ(明示的に宣言されているか、暗黙的に宣言されているか、そのいずれでもないかに関係なく)の数を返します。Class<?>[]このオブジェクトによって表される実行可能ファイルの仮パラメータ型を宣言順で表すClassオブジェクトの配列を返します。TypeVariable<Constructor<T>>[]GenericDeclarationオブジェクトによって表されるジェネリック宣言で宣言された型変数を表すTypeVariableオブジェクトの配列を宣言順に返します。inthashCode()このConstructorのハッシュ・コードを返します。booleanこの実行可能要素が合成構造である場合はtrueを返し、そうでない場合はfalseを返します。booleanこの実行可能要素が可変数の引数を取るように宣言されていた場合はtrueを返し、そうでない場合はfalseを返します。newInstance(Object... initargs) 指定された初期化パラメータで、このコンストラクタの宣言クラスの新しいインスタンスを作成および初期化する場合は、このConstructorオブジェクトによって表されるコンストラクタを使用します。voidsetAccessible(boolean flag) この反映オブジェクトのaccessibleフラグを指定されたブール値に設定します。型パラメータを含む、このConstructorを記述する文字列を返します。toString()このConstructorを記述する文字列を返します。クラスjava.lang.reflect.Executableで宣言されたメソッド
accessFlags, getAnnotatedExceptionTypes, getAnnotatedParameterTypes, getAnnotationsByType, getParametersクラスjava.lang.reflect.AccessibleObjectで宣言されたメソッド
canAccess, getAnnotations, getDeclaredAnnotation, getDeclaredAnnotationsByType, isAccessible, isAnnotationPresent, setAccessible, trySetAccessibleインタフェースjava.lang.reflect.AnnotatedElementで宣言されたメソッド
getAnnotations, getDeclaredAnnotation, getDeclaredAnnotationsByType, isAnnotationPresent
-
メソッドの詳細
-
setAccessible
public 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が名前なしモジュールまたはオープン・モジュールにある場合、このメソッドは常に成功します。
このメソッドは、次の場合にのみ
declaring classDのmemberへのアクセスを有効にするために、スタック上にコール元クラスがない「JNIコード」で使用できます:- メンバーは
publicで、DはDexportsが無条件に含まれるパッケージ内のpublicです。
宣言クラスが呼出し側と異なるモジュールにあり、宣言クラスを含むパッケージが呼出し側のモジュールに対して開かれていない場合、このメソッドは、プライベート・メンバー、デフォルトの(package)アクセス権を持つメンバー、保護されたインスタンス・メンバーまたは保護されたコンストラクタへのアクセスを有効にするために使用できません。
このメソッドを使用して、non-modifiable最終フィールドへのwriteアクセスを有効にすることはできません。 次のフィールドは変更できません:
trueがJava言語アクセス制御チェックを抑制して、これらの変更不可能な最終フィールドへのreadアクセスのみを有効にする場合のaccessibleフラグ。SecurityExceptionは、このオブジェクトがクラスClassのConstructorオブジェクトで、flagがtrueの場合にスローされます。- オーバーライド:
- クラス
AccessibleObjectのsetAccessible - パラメータ:
flag-accessibleフラグの新しい値- スロー:
InaccessibleObjectException- アクセスを有効にできない場合SecurityException- これがjava.lang.Classのコンストラクタである場合- 外部仕様
- 関連項目:
-
-
getDeclaringClass
このオブジェクトによって表されるコンストラクタを宣言するクラスを表すClassオブジェクトを返します。- 定義:
getDeclaringClass、インタフェースMember- 定義:
getDeclaringClass、クラスExecutable- 戻り値:
- 基本となるメンバーの宣言クラスを表すオブジェクト
-
getName
public String getName()このコンストラクタの名前を文字列として返します。 これは、コンストラクタを宣言したクラスのバイナリ名です。- 定義:
getName、インタフェースMember- 定義:
getName、クラスExecutable- 戻り値:
- 基本となるメンバーの単純名
-
getModifiers
public int getModifiers()このオブジェクトによって表される実行可能要素のJava言語修飾子を返します。- 定義:
getModifiers、インタフェースMember- 定義:
getModifiers、クラスExecutable- 戻り値:
- このオブジェクトによって表される実行可能ファイルのJava言語modifiers
- Java言語仕様を参照してください:
-
8.8.3 コンストラクタ修飾子
- 関連項目:
-
getTypeParameters
public TypeVariable<Constructor<T>>[] getTypeParameters()GenericDeclarationオブジェクトによって表されるジェネリック宣言で宣言された型変数を表すTypeVariableオブジェクトの配列を宣言順に返します。 基になるジェネリック宣言で型変数が宣言されていない場合は、長さ0の配列が返されます。- 定義:
getTypeParameters、インタフェースGenericDeclaration- 定義:
getTypeParameters、クラスExecutable- 戻り値:
- このジェネリック宣言で宣言された型変数を表す
TypeVariableオブジェクトの配列 - スロー:
GenericSignatureFormatError- このジェネリック宣言のジェネリック・シグネチャが「Java Virtual Machine仕様」で指定された形式に準拠していない場合- 導入されたバージョン:
- 1.5
-
getParameterTypes
public Class<?>[] getParameterTypes()このオブジェクトによって表される実行可能ファイルの仮パラメータ型を宣言順で表すClassオブジェクトの配列を返します。 基礎となる実行可能要素にパラメータが設定されていない場合には、長さ0の配列が返されます。 一部の内部クラスのコンストラクタは、明示的に宣言されたクラスに加えて、「暗黙のうちに宣言された」パラメータを持つことができます。 また、レコード・クラスのコンパクト・コンストラクタには「暗黙のうちに宣言された」パラメータがあることにも注意してください。- 定義:
getParameterTypes、クラスExecutable- 戻り値:
- このオブジェクトが表す実行可能要素のパラメータ型
-
getParameterCount
public int getParameterCount()このオブジェクトによって表される実行可能要素の仮パラメータ(明示的に宣言されているか、暗黙的に宣言されているか、そのいずれでもないかに関係なく)の数を返します。- 定義:
getParameterCount、クラスExecutable- 戻り値:
- このオブジェクトが表す実行可能要素の仮パラメータの数
- 導入されたバージョン:
- 1.8
-
getGenericParameterTypes
public Type[] getGenericParameterTypes()このオブジェクトによって表される実行可能要素の仮パラメータ型を宣言順で表すTypeオブジェクトの配列を返します。 基礎となる実行可能ファイルがパラメータを取らない場合、長さ0の配列が返されます。 内部クラスの中には、明示的に宣言されたものに加えて、暗黙的に宣言されたパラメータを持つものがあります。 レコード・クラスのコンパクト・コンストラクタも「暗黙のうちに宣言された」パラメータを持つことができますが、特殊なケースであるため、ソースで明示的に宣言されたかのように考慮されます。 最後に、modeling artifactとして返されるパラメータの数は、汎用情報が存在するかどうかによって異なる場合があります。 汎用情報が存在する場合、レコード・クラスのコンパクト・コンストラクタのソースまたはパラメータに明示的に存在するパラメータが戻されます。 レコード・クラスのコンパクト・コンストラクタのパラメータは、ソースに明示的に存在せず、パラメータが「暗黙のうちに宣言された」かどうかに関係なくその型が返されるため、特殊なケースです。 汎用情報が存在しない場合は、暗黙的および合成的なパラメータも返されます。フォーマル・パラメータの型がパラメータ化された型である場合、それに対して返される
Typeオブジェクトは、ソース・コードで使用される実際の型引数を正確に反映する必要があります。 このアサーションは、「暗黙のうちに宣言された」であるかどうかに関係なく、レコード・クラスのコンパクト・コンストラクタのパラメータにも適用されます。仮パラメータ型が、型変数またはパラメータ化された型の場合、仮パラメータ型は作成されます。 そうでない場合、例外タイプは解決されます。
- オーバーライド:
getGenericParameterTypes、クラスExecutable- 戻り値:
- 基礎となる実行可能要素の仮パラメータ型を表す、宣言順の
Typeの配列 - スロー:
GenericSignatureFormatError- 汎用メソッド・シグネチャが「Java Virtual Machine仕様」で指定された形式に準拠していない場合TypeNotPresentException- 基礎となる実行可能要素のパラメータ型のいずれかが、存在しない型宣言を参照する場合MalformedParameterizedTypeException- 基礎となる実行可能要素のパラメータ型のいずれかが、なんらかの理由によりインスタンス化できないパラメータ化された型を参照する場合- 導入されたバージョン:
- 1.5
-
getExceptionTypes
public Class<?>[] getExceptionTypes()このオブジェクトで表される基礎となる実行可能ファイルによってスローされるように宣言されている例外の型を表すClassオブジェクトの配列を返します。 実行可能要素がthrows節で例外を宣言していない場合は、長さ0の配列を返します。- 定義:
getExceptionTypes、クラスExecutable- 戻り値:
- 宣言される例外タイプ。このオブジェクトが表す実行可能要素によりスローされる
-
getGenericExceptionTypes
public Type[] getGenericExceptionTypes()このexecutableオブジェクトによってスローされることが宣言されている例外を表すTypeオブジェクトの配列を返します。 基礎となる実行可能要素がthrows節で例外を宣言していない場合は、長さ0の配列を返します。例外タイプが、型変数またはパラメータ化された型の場合、例外タイプは作成されます。 そうでない場合、例外タイプは解決されます。
- オーバーライド:
getGenericExceptionTypes、クラスExecutable- 戻り値:
- 基礎となる実行可能要素によりスローされた例外タイプを表すTypeの配列
- スロー:
GenericSignatureFormatError- 汎用メソッド・シグネチャが「Java Virtual Machine仕様」で指定された形式に準拠していない場合TypeNotPresentException- 基礎となる実行可能要素のthrows節が存在しない型宣言を参照する場合MalformedParameterizedTypeException- 基礎となる実行可能要素のthrows節が、なんらかの理由によりインスタンス化できないパラメータ化された型を参照する場合- 導入されたバージョン:
- 1.5
-
equals
-
hashCode
-
toString
public String toString()このConstructorを記述する文字列を返します。 この文字列の書式は、(存在する場合には)コンストラクタのアクセス修飾子、定義クラスの完全指定名、カッコで囲まれたカンマ区切りのコンストラクタの仮パラメータ型のリストが順番に続きます。 たとえば、public java.util.HashMap(int,float)コンストラクタが例外をスローするように宣言されている場合、パラメータのリストのあとに空白、「
throws」という文字列、カンマ区切りのスローされる例外型が順番に続きます。コンストラクタに指定できる修飾子は、アクセス修飾子の
public、protectedまたはprivateだけです。 指定できる修飾子は1つだけです。デフォルト(package)アクセスを持つコンストラクタでは、1つも指定しません。- オーバーライド:
toString、クラスObject- 戻り値:
- この
Constructorを記述する文字列 - Java言語仕様を参照してください:
-
8.8.3 コンストラクタの修飾子
8.9.2列挙型本文宣言
-
toGenericString
public String toGenericString()型パラメータを含む、このConstructorを記述する文字列を返します。 その文字列は、コンストラクタ・アクセス修飾子として書式設定されます。そのあとに、コンストラクタ・タイプのパラメータの空白区切りのカンマ区切りのリストがある場合は、そのパラメータの情報境界を含む任意の場合は、宣言されたクラスの完全修飾名が後に続き、その次にコンストラクタ汎用仮パラメータ・タイプの親で区切られたカンマ区切りのリストが続きます。 このコンストラクタが、可変数の引数を取るように宣言されている場合、最後のパラメータを"Type[]"として指定するかわりに、"Type..."と示されます。 スペースは、アクセス修飾子と型パラメータまたはクラス名を区別するために使用されます。 型パラメータがない場合、型パラメータのリストは省略されます。型パラメータのリストが存在する場合、リストとクラス名は空白文字で区切られます。 コンストラクタが例外をスローするように宣言されている場合、パラメータ・リストの後に空白が続き、その後に"throws"という語が続き、その後に汎用のスローされた例外タイプのカンマ区切りリストが続きます。コンストラクタに指定できる修飾子は、アクセス修飾子の
public、protectedまたはprivateだけです。 指定できる修飾子は1つだけです。デフォルト(package)アクセスを持つコンストラクタでは、1つも指定しません。- 定義:
toGenericString、クラスExecutable- 戻り値:
- 型パラメータを含む、この
Constructorを記述する文字列 - Java言語仕様を参照してください:
-
8.8.3 コンストラクタの修飾子
8.9.2列挙型本文宣言 - 導入されたバージョン:
- 1.5
-
newInstance
public 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- このメソッドによる初期化に失敗した場合。
-
isVarArgs
public boolean isVarArgs()この実行可能要素が可変数の引数を取るように宣言されていた場合はtrueを返し、そうでない場合はfalseを返します。- オーバーライド:
isVarArgs、クラスExecutable- 戻り値:
- この実行可能ファイルが可変数の引数を取得するように宣言されている場合は
true、それ以外の場合はfalseを返します - Java言語仕様を参照してください:
-
8.4.1 仮パラメータ
- 導入されたバージョン:
- 1.5
-
isSynthetic
public boolean isSynthetic()この実行可能要素が合成構造である場合はtrueを返し、そうでない場合はfalseを返します。- 定義:
isSynthetic、インタフェースMember- オーバーライド:
isSynthetic、クラスExecutable- 戻り値:
- この実行可能ファイルが「Java言語仕様」で定義された合成構造である場合にのみtrue。
- Java言語仕様を参照してください:
-
13.1 バイナリの形式
- Java Virtual Machine仕様を参照してください:
-
「4.6 メソッド」
- 導入されたバージョン:
- 1.5
- 関連項目:
-
getAnnotation
public <T extends Annotation> T getAnnotation(Class<T> annotationClass) 存在する場合は、この要素の指定された型の注釈を返し、そうでない場合はnullを返します。このメソッドによって返される注釈は宣言注釈であることに注意してください。
- 定義:
getAnnotation、インタフェースAnnotatedElement- オーバーライド:
getAnnotation、クラスExecutable- 型パラメータ:
T- 問合せ対象および存在する場合は戻す注釈のタイプ- パラメータ:
annotationClass- 注釈型に対応するClassオブジェクト- 戻り値:
- 存在する場合は、この要素の指定された注釈型の注釈。そうでない場合はnull
- スロー:
NullPointerException- 指定された注釈クラスがnullの場合- 導入されたバージョン:
- 1.5
-
getDeclaredAnnotations
public Annotation[] getDeclaredAnnotations()この要素に直接存在する注釈を返します。 このメソッドは継承された注釈を無視します。 この要素に直接存在する注釈がない場合、戻り値は長さ0の配列です。 このメソッドの呼出し元は、返された配列を自由に変更することができ、これはほかの呼出し元に返された配列に影響を及ぼしません。このメソッドによって返される注釈は宣言注釈であることに注意してください。
- 定義:
getDeclaredAnnotations、インタフェースAnnotatedElement- オーバーライド:
getDeclaredAnnotations、クラスAccessibleObject- 戻り値:
- この要素に直接存在する注釈
- 導入されたバージョン:
- 1.5
-
getParameterAnnotations
public Annotation[][] getParameterAnnotations()このオブジェクトによって表されるExecutableの仮パラメータの注釈を表すAnnotationの配列の配列を、宣言順に返します。 返される配列では、内部クラス・コンストラクタに対する外部のthisパラメータなど、合成および必須パラメータ(次の説明を参照)が表されます。 実行可能要素がパラメータを持たない(つまり、仮パラメータも合成パラメータも必須パラメータも持たない)場合は、長さ0の配列が返されます。実行可能要素に1つ以上のパラメータがある場合、注釈を含まないパラメータごとに長さゼロの入れ子の配列を返します。 返された配列に含まれる注釈オブジェクトは直列化できます。 このメソッドの呼出し元は、返された配列を自由に変更できます。この変更は、ほかの呼出し元に返された配列に影響を及ぼしません。 コンパイラによって、ソースで暗黙的に宣言されている追加のパラメータ("必須")、およびソースで暗黙的にも明示的にも宣言されていないパラメータ("合成")がメソッドのパラメータ・リストに追加されることがあります。 詳細は、Parameterを参照してください。このメソッドによって返される注釈は宣言注釈であることに注意してください。
- 定義:
getParameterAnnotations、クラスExecutable- 戻り値:
- このオブジェクトにより表された実行可能要素の仮パラメータおよび暗黙的なパラメータの注釈を表す宣言順の配列の配列
- 導入されたバージョン:
- 1.5
- 関連項目:
-
getAnnotatedReturnType
public AnnotatedType getAnnotatedReturnType()このExecutableによって表されるメソッドまたはコンストラクタの戻り型を指定する型の使用を表すAnnotatedTypeオブジェクトを返します。 このExecutableオブジェクトがコンストラクタを表す場合、AnnotatedTypeオブジェクトは構築されるオブジェクトの型を表します。 このExecutableオブジェクトがメソッドを表す場合、AnnotatedTypeオブジェクトはメソッドの戻り型を指定する型の使用を表します。- 定義:
getAnnotatedReturnType、クラスExecutable- 戻り値:
- この
Executableが表すメソッドまたはコンストラクタの戻り型を表すオブジェクト - 導入されたバージョン:
- 1.8
-
getAnnotatedReceiverType
public AnnotatedType getAnnotatedReceiverType()このExecutableオブジェクトで表されるメソッド/コンストラクタのレシーバ・タイプを指定するための型の使用を表すAnnotatedTypeオブジェクトを返します。 メソッド/講師のレシーバ・タイプは、メソッド/講師にレシーバ・パラメータ(JLS 8.4.1)がある場合のみ使用できます。 このExecutableオブジェクト「インスタンス・メソッドを表すか、内部メンバー・クラスのコンストラクタを表します。」で、メソッド/コンストラクタeitherにレシーバ・パラメータがないか、その型に注釈のないレシーバ・パラメータがある場合、戻り値は注釈のない要素を表すAnnotatedTypeオブジェクトです。 このExecutableオブジェクトが静的メソッドを表すか、トップ・レベル、静的メンバー、ローカルまたは匿名クラスのコンストラクタを表す場合、戻り値はnullです。- オーバーライド:
getAnnotatedReceiverType、クラスExecutable- 戻り値:
- この
Executableが受信機パラメータを持つことができない場合、このExecutableまたはnullによって表されるメソッドまたはコンストラクタのレシーバ型を表すオブジェクト - 導入されたバージョン:
- 1.8
-