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 String
getName()
このオブジェクトによって表される実行可能要素の名前を返します。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の配列が返されます。 内部クラスの中には、明示的に宣言されたものに加えて、暗黙的に宣言されたパラメータを持つものがあります。 また、「モデル化アーティファクト」として返されるパラメータの数は、一般情報が存在するかどうかによって異なる場合があります。 一般情報が存在する場合、ソースに明示的に存在するパラメータのみが返されます。一般情報が存在しない場合、暗黙的および合成パラメータも返されます。フォーマル・パラメータの型がパラメータ化された型である場合、それに対して返される
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
が表すメソッドまたはコンストラクタの宣言された例外を表すオブジェクトの配列
-