クラスExecutable
java.lang.Object
java.lang.reflect.AccessibleObject
java.lang.reflect.Executable
- すべての実装されたインタフェース:
AnnotatedElement,GenericDeclaration,Member
- 直系の既知のサブクラス:
Constructor,Method
public abstract sealed class Executable extends AccessibleObject implements Member, GenericDeclaration permits Constructor<T>, Method
MethodおよびConstructorに共通する機能のための共有スーパークラス。-
フィールドのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明このオブジェクトによって表される実行可能ファイルの「アクセス・フラグ」の変更不可セットを返します(空の場合もあります)。このExecutableによって表されるメソッドまたはコンストラクタの宣言された例外を指定する型の使用を表すAnnotatedTypeオブジェクトの配列を返します。このExecutableによって表されるメソッドまたはコンストラクタの仮パラメータ型を指定する型の使用を表すAnnotatedTypeオブジェクトの配列を返します。このExecutableオブジェクトで表されるメソッド/コンストラクタのレシーバ・タイプを指定するための型の使用を表すAnnotatedTypeオブジェクトを返します。abstract AnnotatedTypeこのExecutableによって表されるメソッドまたはコンストラクタの戻り型を指定する型の使用を表すAnnotatedTypeオブジェクトを返します。<T extends Annotation>
TgetAnnotation(Class<T> annotationClass) 存在する場合は、この要素の指定された型の注釈を返し、そうでない場合はnullを返します。<T extends Annotation>
T[]getAnnotationsByType(Class<T> annotationClass) この要素に関連付けられている注釈を返します。この要素に直接存在する注釈を返します。abstract Class<?> このオブジェクトによって表される実行可能ファイルを宣言するクラスまたはインタフェースを表すClassオブジェクトを返します。abstract Class<?>[]このオブジェクトで表される基礎となる実行可能ファイルによってスローされるように宣言されている例外の型を表すClassオブジェクトの配列を返します。Type[]このexecutableオブジェクトによってスローされることが宣言されている例外を表すTypeオブジェクトの配列を返します。Type[]このオブジェクトによって表される実行可能要素の仮パラメータ型を宣言順で表すTypeオブジェクトの配列を返します。abstract intこのオブジェクトによって表される実行可能要素のJava言語修飾子を返します。abstract StringgetName()このオブジェクトによって表される実行可能要素の名前を返します。abstract Annotation[][]このオブジェクトによって表されるExecutableの仮パラメータの注釈を表すAnnotationの配列の配列を、宣言順に返します。abstract intこのオブジェクトによって表される実行可能要素の仮パラメータ(明示的に宣言されているか、暗黙的に宣言されているか、そのいずれでもないかに関係なく)の数を返します。このオブジェクトによって表される基礎となる実行可能ファイルへのすべてのパラメータを表すParameterオブジェクトの配列を返します。abstract Class<?>[]このオブジェクトによって表される実行可能ファイルの仮パラメータ型を宣言順で表すClassオブジェクトの配列を返します。abstract TypeVariable<?>[]GenericDeclarationオブジェクトによって表されるジェネリック宣言で宣言された型変数を表すTypeVariableオブジェクトの配列を宣言順に返します。booleanこの実行可能要素が合成構造である場合はtrueを返し、そうでない場合はfalseを返します。booleanこの実行可能要素が可変数の引数を取るように宣言されていた場合はtrueを返し、そうでない場合はfalseを返します。abstract String型パラメータを含む、このExecutableを記述する文字列を返します。クラスjava.lang.reflect.AccessibleObjectで宣言されたメソッド
canAccess, getAnnotations, getDeclaredAnnotation, getDeclaredAnnotations, getDeclaredAnnotationsByType, isAccessible, isAnnotationPresent, setAccessible, setAccessible, trySetAccessibleクラスjava.lang.Objectで宣言されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitインタフェースjava.lang.reflect.AnnotatedElementで宣言されたメソッド
getAnnotations, getDeclaredAnnotation, getDeclaredAnnotationsByType, isAnnotationPresent
-
メソッドの詳細
-
getDeclaringClass
public abstract Class<?> getDeclaringClass()このオブジェクトによって表される実行可能ファイルを宣言するクラスまたはインタフェースを表すClassオブジェクトを返します。- 定義:
getDeclaringClass、インタフェースMember- 戻り値:
- 基本となるメンバーの宣言クラスを表すオブジェクト
-
getName
-
getModifiers
public abstract int getModifiers()このオブジェクトによって表される実行可能要素のJava言語修飾子を返します。- 定義:
getModifiers、インタフェースMember- 戻り値:
- このオブジェクトによって表される実行可能ファイルのJava言語modifiers
- 関連項目:
-
accessFlags
public Set<AccessFlag> accessFlags()このオブジェクトによって表される実行可能ファイルの「アクセス・フラグ」の変更不可セットを返します(空の場合もあります)。- 定義:
- インタフェース
Member内のaccessFlags - 戻り値:
- このオブジェクトによって表される実行可能ファイルの「アクセス・フラグ」の変更不可セット。空の場合もあります
- Java Virtual Machine仕様を参照してください:
-
「4.6 メソッド」
- 導入されたバージョン:
- 20
- 関連項目:
-
getTypeParameters
public abstract TypeVariable<?>[] getTypeParameters()GenericDeclarationオブジェクトによって表されるジェネリック宣言で宣言された型変数を表すTypeVariableオブジェクトの配列を宣言順に返します。 基になるジェネリック宣言で型変数が宣言されていない場合は、長さ0の配列が返されます。- 定義:
getTypeParameters、インタフェースGenericDeclaration- 戻り値:
- このジェネリック宣言で宣言された型変数を表す
TypeVariableオブジェクトの配列 - スロー:
GenericSignatureFormatError- このジェネリック宣言のジェネリック・シグネチャが「Java Virtual Machine仕様」で指定された形式に準拠していない場合
-
getParameterTypes
public abstract Class<?>[] getParameterTypes()このオブジェクトによって表される実行可能ファイルの仮パラメータ型を宣言順で表すClassオブジェクトの配列を返します。 基礎となる実行可能要素にパラメータが設定されていない場合には、長さ0の配列が返されます。 一部の内部クラスのコンストラクタは、明示的に宣言されたクラスに加えて、「暗黙のうちに宣言された」パラメータを持つことができます。 また、レコード・クラスのコンパクト・コンストラクタには「暗黙のうちに宣言された」パラメータがあることにも注意してください。- 戻り値:
- このオブジェクトが表す実行可能要素のパラメータ型
-
getParameterCount
public abstract int getParameterCount()このオブジェクトによって表される実行可能要素の仮パラメータ(明示的に宣言されているか、暗黙的に宣言されているか、そのいずれでもないかに関係なく)の数を返します。- 戻り値:
- このオブジェクトが表す実行可能要素の仮パラメータの数
-
getGenericParameterTypes
public Type[] getGenericParameterTypes()このオブジェクトによって表される実行可能要素の仮パラメータ型を宣言順で表すTypeオブジェクトの配列を返します。 基礎となる実行可能ファイルがパラメータを取らない場合、長さ0の配列が返されます。 内部クラスの中には、明示的に宣言されたものに加えて、暗黙的に宣言されたパラメータを持つものがあります。 レコード・クラスのコンパクト・コンストラクタも「暗黙のうちに宣言された」パラメータを持つことができますが、特殊なケースであるため、ソースで明示的に宣言されたかのように考慮されます。 最後に、modeling artifactとして返されるパラメータの数は、汎用情報が存在するかどうかによって異なる場合があります。 汎用情報が存在する場合、レコード・クラスのコンパクト・コンストラクタのソースまたはパラメータに明示的に存在するパラメータが戻されます。 レコード・クラスのコンパクト・コンストラクタのパラメータは、ソースに明示的に存在せず、パラメータが「暗黙のうちに宣言された」かどうかに関係なくその型が返されるため、特殊なケースです。 汎用情報が存在しない場合は、暗黙的および合成的なパラメータも返されます。フォーマル・パラメータの型がパラメータ化された型である場合、それに対して返される
Typeオブジェクトは、ソース・コードで使用される実際の型引数を正確に反映する必要があります。 このアサーションは、「暗黙のうちに宣言された」であるかどうかに関係なく、レコード・クラスのコンパクト・コンストラクタのパラメータにも適用されます。仮パラメータ型が、型変数またはパラメータ化された型の場合、仮パラメータ型は作成されます。 そうでない場合、例外タイプは解決されます。
- 戻り値:
- 基礎となる実行可能要素の仮パラメータ型を表す、宣言順の
Typeの配列 - スロー:
GenericSignatureFormatError- 汎用メソッド・シグネチャが「Java Virtual Machine仕様」で指定された形式に準拠していない場合TypeNotPresentException- 基礎となる実行可能要素のパラメータ型のいずれかが、存在しない型宣言を参照する場合MalformedParameterizedTypeException- 基礎となる実行可能要素のパラメータ型のいずれかが、なんらかの理由によりインスタンス化できないパラメータ化された型を参照する場合
-
getParameters
public Parameter[] getParameters()このオブジェクトによって表される基礎となる実行可能ファイルへのすべてのパラメータを表すParameterオブジェクトの配列を返します。 実行可能ファイルにパラメータが含まれていない場合、長さ0の配列が返されます。基礎となる実行可能ファイルのパラメータには、必ずしも一意の名前や、Javaプログラミング言語(JLS 3.8)で有効な識別子である名前があるとはかぎりません。
- 戻り値:
- このオブジェクトによって表される基礎となる実行可能ファイルへのすべてのパラメータを表す
Parameterオブジェクトの配列 - スロー:
MalformedParametersException- クラス・ファイルに形式が正しくないMethodParameters属性が含まれている場合
-
getExceptionTypes
public abstract Class<?>[] getExceptionTypes()このオブジェクトで表される基礎となる実行可能ファイルによってスローされるように宣言されている例外の型を表すClassオブジェクトの配列を返します。 実行可能要素がthrows節で例外を宣言していない場合は、長さ0の配列を返します。- 戻り値:
- 宣言される例外タイプ。このオブジェクトが表す実行可能要素によりスローされる
-
getGenericExceptionTypes
public Type[] getGenericExceptionTypes()このexecutableオブジェクトによってスローされることが宣言されている例外を表すTypeオブジェクトの配列を返します。 基礎となる実行可能要素がthrows節で例外を宣言していない場合は、長さ0の配列を返します。例外タイプが、型変数またはパラメータ化された型の場合、例外タイプは作成されます。 そうでない場合、例外タイプは解決されます。
- 戻り値:
- 基礎となる実行可能要素によりスローされた例外タイプを表すTypeの配列
- スロー:
GenericSignatureFormatError- 汎用メソッド・シグネチャが「Java Virtual Machine仕様」で指定された形式に準拠していない場合TypeNotPresentException- 基礎となる実行可能要素のthrows節が存在しない型宣言を参照する場合MalformedParameterizedTypeException- 基礎となる実行可能要素のthrows節が、なんらかの理由によりインスタンス化できないパラメータ化された型を参照する場合
-
toGenericString
public abstract String toGenericString()型パラメータを含む、このExecutableを記述する文字列を返します。- 戻り値:
- 型パラメータを含む、この
Executableを記述する文字列
-
isVarArgs
public boolean isVarArgs()この実行可能要素が可変数の引数を取るように宣言されていた場合はtrueを返し、そうでない場合はfalseを返します。- 戻り値:
- この実行可能ファイルが可変数の引数を取得するように宣言されている場合は
true、それ以外の場合はfalseを返します
-
isSynthetic
public boolean isSynthetic()この実行可能要素が合成構造である場合はtrueを返し、そうでない場合はfalseを返します。- 定義:
isSynthetic、インタフェースMember- 戻り値:
- この実行可能ファイルが「Java言語仕様」で定義された合成構造である場合にのみtrue。
- Java言語仕様を参照してください:
-
13.1 バイナリの形式
- Java Virtual Machine仕様を参照してください:
-
「4.6 メソッド」
-
getParameterAnnotations
public abstract Annotation[][] getParameterAnnotations()このオブジェクトによって表されるExecutableの仮パラメータの注釈を表すAnnotationの配列の配列を、宣言順に返します。 返される配列では、内部クラス・コンストラクタに対する外部のthisパラメータなど、合成および必須パラメータ(次の説明を参照)が表されます。 実行可能要素がパラメータを持たない(つまり、仮パラメータも合成パラメータも必須パラメータも持たない)場合は、長さ0の配列が返されます。実行可能要素に1つ以上のパラメータがある場合、注釈を含まないパラメータごとに長さゼロの入れ子の配列を返します。 返された配列に含まれる注釈オブジェクトは直列化できます。 このメソッドの呼出し元は、返された配列を自由に変更できます。この変更は、ほかの呼出し元に返された配列に影響を及ぼしません。 コンパイラによって、ソースで暗黙的に宣言されている追加のパラメータ("必須")、およびソースで暗黙的にも明示的にも宣言されていないパラメータ("合成")がメソッドのパラメータ・リストに追加されることがあります。 詳細は、Parameterを参照してください。このメソッドによって返される注釈は宣言注釈であることに注意してください。
- 戻り値:
- このオブジェクトにより表された実行可能要素の仮パラメータおよび暗黙的なパラメータの注釈を表す宣言順の配列の配列
- 関連項目:
-
getAnnotation
public <T extends Annotation> T getAnnotation(Class<T> annotationClass) 存在する場合は、この要素の指定された型の注釈を返し、そうでない場合はnullを返します。このメソッドによって返される注釈は宣言注釈であることに注意してください。
- 定義:
getAnnotation、インタフェースAnnotatedElement- オーバーライド:
getAnnotation、クラスAccessibleObject- 型パラメータ:
T- 問合せ対象および存在する場合は戻す注釈のタイプ- パラメータ:
annotationClass- 注釈型に対応するClassオブジェクト- 戻り値:
- 存在する場合は、この要素の指定された注釈型の注釈。そうでない場合はnull
- スロー:
NullPointerException- 指定された注釈クラスがnullの場合
-
getAnnotationsByType
public <T extends Annotation> T[] getAnnotationsByType(Class<T> annotationClass) この要素に関連付けられている注釈を返します。 この要素に関連付けられている注釈がない場合、戻り値は長さ0の配列です。 このメソッドとAnnotatedElement.getAnnotation(Class)の違いは、引数が「繰返し可能な注釈タイプ」 (JLS 9.6)であるかどうかをこのメソッドが検出し、その場合、"検索"がコンテナ注釈を使用してそのタイプの注釈を検索しようとすることです。 このメソッドの呼出し元は、返された配列を自由に変更することができ、これはほかの呼出し元に返された配列に影響を及ぼしません。このメソッドによって返される注釈は宣言注釈であることに注意してください。
- 定義:
getAnnotationsByType、インタフェースAnnotatedElement- オーバーライド:
getAnnotationsByType、クラスAccessibleObject- 型パラメータ:
T- 問合せ対象および存在する場合は戻す注釈のタイプ- パラメータ:
annotationClass- 注釈型に対応するClassオブジェクト- 戻り値:
- この要素に関連付けられている場合は、この要素の指定された注釈型のすべての注釈。そうでない場合は長さ0の配列
- スロー:
NullPointerException- 指定された注釈クラスがnullの場合
-
getDeclaredAnnotations
public Annotation[] getDeclaredAnnotations()この要素に直接存在する注釈を返します。 このメソッドは継承された注釈を無視します。 この要素に直接存在する注釈がない場合、戻り値は長さ0の配列です。 このメソッドの呼出し元は、返された配列を自由に変更することができ、これはほかの呼出し元に返された配列に影響を及ぼしません。このメソッドによって返される注釈は宣言注釈であることに注意してください。
- 定義:
getDeclaredAnnotations、インタフェースAnnotatedElement- オーバーライド:
getDeclaredAnnotations、クラスAccessibleObject- 戻り値:
- この要素に直接存在する注釈
-
getAnnotatedReturnType
public abstract AnnotatedType getAnnotatedReturnType()このExecutableによって表されるメソッドまたはコンストラクタの戻り型を指定する型の使用を表すAnnotatedTypeオブジェクトを返します。 このExecutableオブジェクトがコンストラクタを表す場合、AnnotatedTypeオブジェクトは構築されるオブジェクトの型を表します。 このExecutableオブジェクトがメソッドを表す場合、AnnotatedTypeオブジェクトはメソッドの戻り型を指定する型の使用を表します。- 戻り値:
- この
Executableが表すメソッドまたはコンストラクタの戻り型を表すオブジェクト
-
getAnnotatedReceiverType
public AnnotatedType getAnnotatedReceiverType()このExecutableオブジェクトで表されるメソッド/コンストラクタのレシーバ・タイプを指定するための型の使用を表すAnnotatedTypeオブジェクトを返します。 メソッド/講師のレシーバ・タイプは、メソッド/講師にレシーバ・パラメータ(JLS 8.4.1)がある場合のみ使用できます。 このExecutableオブジェクト「インスタンス・メソッドを表すか、内部メンバー・クラスのコンストラクタを表します。」で、メソッド/コンストラクタeitherにレシーバ・パラメータがないか、その型に注釈のないレシーバ・パラメータがある場合、戻り値は注釈のない要素を表すAnnotatedTypeオブジェクトです。 このExecutableオブジェクトが静的メソッドを表すか、トップ・レベル、静的メンバー、ローカルまたは匿名クラスのコンストラクタを表す場合、戻り値はnullです。- 戻り値:
- この
Executableが受信機パラメータを持つことができない場合、このExecutableまたはnullによって表されるメソッドまたはコンストラクタのレシーバ型を表すオブジェクト - Java言語仕様を参照してください:
-
8.4 メソッド宣言
8.4.1フォーマル・パラメータ
8.8コンストラクタ宣言
-
getAnnotatedParameterTypes
public AnnotatedType[] getAnnotatedParameterTypes()このExecutableによって表されるメソッドまたはコンストラクタの仮パラメータ型を指定する型の使用を表すAnnotatedTypeオブジェクトの配列を返します。 配列内のオブジェクトの順序は、メソッドまたはコンストラクタの宣言における仮パラメータ型の順序に一致します。 メソッドまたはコンストラクタでパラメータが宣言されていない場合は、長さ0の配列が返されます。 一部の内部クラスのコンストラクタは、明示的に宣言されたクラスに加えて、「暗黙のうちに宣言された」パラメータを持つことができます。 また、レコード・クラスのコンパクト・コンストラクタには「暗黙のうちに宣言された」パラメータがあることにも注意してください。- 戻り値:
- この
Executableが表すメソッドまたはコンストラクタの仮パラメータの型を表すオブジェクトの配列
-
getAnnotatedExceptionTypes
public AnnotatedType[] getAnnotatedExceptionTypes()このExecutableによって表されるメソッドまたはコンストラクタの宣言された例外を指定する型の使用を表すAnnotatedTypeオブジェクトの配列を返します。 配列内のオブジェクトの順序は、メソッドまたはコンストラクタの宣言における例外の型の順序に一致します。 メソッドまたはコンストラクタで例外が宣言されていない場合は、長さ0の配列が返されます。- 戻り値:
- この
Executableが表すメソッドまたはコンストラクタの宣言された例外を表すオブジェクトの配列
-