java.lang.Object
java.lang.reflect.AccessibleObject
java.lang.reflect.Executable
- すべての実装されたインタフェース:
AnnotatedElement
,GenericDeclaration
,Member
- 直系の既知のサブクラス:
Constructor
,Method
public abstract class Executable extends AccessibleObject implements Member, GenericDeclaration
Method
およびConstructor
に共通する機能のための共有スーパークラス。- 導入されたバージョン:
- 1.8
-
フィールドのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明この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
の配列の配列を、宣言順に返します。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
public abstract String getName()このオブジェクトによって表される実行可能要素の名前を返します。 -
getModifiers
public abstract int getModifiers()このオブジェクトによって表される実行可能要素のJava言語修飾子を返します。- 定義:
getModifiers
、インタフェース:Member
- 戻り値:
- 基本となるメンバーのJava言語修飾子
- 関連項目:
Modifier
-
getTypeParameters
public abstract TypeVariable<?>[] getTypeParameters()GenericDeclaration
オブジェクトによって表されるジェネリック宣言で宣言された型変数を表すTypeVariable
オブジェクトの配列を宣言順に返します。 基になるジェネリック宣言で型変数が宣言されていない場合は、長さ0の配列が返されます。- 定義:
getTypeParameters
、インタフェース:GenericDeclaration
- 戻り値:
- このジェネリック宣言で宣言された型変数を表す
TypeVariable
オブジェクトの配列 - 例外:
GenericSignatureFormatError
- このジェネリック宣言のジェネリック・シグネチャが「Java Virtual Machine仕様」で指定された形式に準拠していない場合
-
getParameterTypes
public abstract Class<?>[] getParameterTypes()このオブジェクトによって表される実行可能ファイルの仮パラメータ型を宣言順で表すClass
オブジェクトの配列を返します。 基礎となる実行可能要素にパラメータが設定されていない場合には、長さ0の配列が返されます。 内部クラスの中には、明示的に宣言されたものに加えて、暗黙的に宣言されたパラメータを持つものがあります。- 戻り値:
- このオブジェクトが表す実行可能要素のパラメータ型
-
getParameterCount
public 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
。
-
isSynthetic
public boolean isSynthetic()この実行可能要素が合成構造である場合はtrue
を返し、そうでない場合はfalse
を返します。- 定義:
isSynthetic
、インタフェース:Member
- 戻り値:
- この実行可能ファイルが「Java言語仕様」で定義された合成構造である場合にのみtrue。
- Java言語仕様を参照してください:
-
13.1 バイナリの形式
-
getParameterAnnotations
public abstract Annotation[][] getParameterAnnotations()このオブジェクトによって表されるExecutable
の仮パラメータの注釈を表すAnnotation
の配列の配列を、宣言順に返します。 返される配列では、内部クラス・コンストラクタに対する外部のthisパラメータなど、合成および必須パラメータ(次の説明を参照)が表されます。 実行可能要素がパラメータを持たない(つまり、仮パラメータも合成パラメータも必須パラメータも持たない)場合は、長さ0の配列が返されます。実行可能要素
に1つ以上のパラメータがある場合、注釈を含まないパラメータごとに長さゼロの入れ子の配列を返します。 返された配列に含まれる注釈オブジェクトは直列化できます。 このメソッドの呼出し元は、返された配列を自由に変更できます。この変更は、ほかの呼出し元に返された配列に影響を及ぼしません。 コンパイラによって、ソースで暗黙的に宣言されている追加のパラメータ("必須")、およびソースで暗黙的にも明示的にも宣言されていないパラメータ("合成")がメソッドのパラメータ・リストに追加されることがあります。 詳細は、Parameter
を参照してください。このメソッドによって返される注釈は宣言注釈であることに注意してください。
- 戻り値:
- このオブジェクトにより表された実行可能要素の仮パラメータおよび暗黙的なパラメータの注釈を表す宣言順の配列の配列
- 関連項目:
Parameter
,Parameter.getAnnotations()
-
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
が表すメソッドまたはコンストラクタの宣言された例外を表すオブジェクトの配列
-