モジュール java.base
パッケージ java.lang.reflect

クラスExecutable

すべての実装されたインタフェース:
AnnotatedElement, GenericDeclaration, Member
直系の既知のサブクラス:
Constructor, Method

public abstract class Executable
extends AccessibleObject
implements Member, GenericDeclaration
MethodおよびConstructorに共通する機能のための共有スーパークラス。
導入されたバージョン:
1.8
  • フィールドのサマリー

    インタフェース java.lang.reflect.Memberで宣言されたフィールド

    DECLARED, PUBLIC
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    AnnotatedType[] getAnnotatedExceptionTypes()
    このExecutableによって表されるメソッドまたはコンストラクタの宣言された例外を指定する型の使用を表すAnnotatedTypeオブジェクトの配列を返します。
    AnnotatedType[] getAnnotatedParameterTypes()
    このExecutableによって表されるメソッドまたはコンストラクタの仮パラメータ型を指定する型の使用を表すAnnotatedTypeオブジェクトの配列を返します。
    AnnotatedType getAnnotatedReceiverType()
    このExecutableオブジェクトによって表されるメソッド/コンストラクタのレシーバ型を指定する型の使用を表すAnnotatedTypeオブジェクトを返します。
    abstract AnnotatedType getAnnotatedReturnType()
    このExecutableによって表されるメソッドまたはコンストラクタの戻り型を指定する型の使用を表すAnnotatedTypeオブジェクトを返します。
    <T extends Annotation>
    T
    getAnnotation​(Class<T> annotationClass)
    存在する場合は、この要素の指定された型の注釈を返し、そうでない場合はnullを返します。
    <T extends Annotation>
    T[]
    getAnnotationsByType​(Class<T> annotationClass)
    この要素に関連付けられている注釈を返します。
    abstract Class<?> getDeclaringClass()
    このオブジェクトによって表される実行可能ファイルを宣言するクラスまたはインタフェースを表すClassオブジェクトを返します。
    abstract Class<?>[] getExceptionTypes()
    このオブジェクトで表される基礎となる実行可能ファイルによってスローされるように宣言されている例外の型を表すClassオブジェクトの配列を返します。
    Type[] getGenericExceptionTypes()
    このexecutableオブジェクトによってスローされることが宣言されている例外を表すTypeオブジェクトの配列を返します。
    Type[] getGenericParameterTypes()
    このオブジェクトによって表される実行可能要素の仮パラメータ型を宣言順で表すTypeオブジェクトの配列を返します。
    abstract int getModifiers()
    このオブジェクトによって表される実行可能要素のJava言語修飾子を返します。
    abstract String getName()
    このオブジェクトによって表される実行可能要素の名前を返します。
    abstract Annotation[][] getParameterAnnotations()
    このオブジェクトによって表されるExecutableの仮パラメータの注釈を表すAnnotationの配列の配列を、宣言順に返します。
    int getParameterCount()
    このオブジェクトによって表される実行可能要素の仮パラメータ(明示的に宣言されているか、暗黙的に宣言されているか、そのいずれでもないかに関係なく)の数を返します。
    Parameter[] getParameters()
    このオブジェクトによって表される基本となる実行可能要素に対するすべてのパラメータを表すParameterオブジェクトの配列を返します。
    abstract Class<?>[] getParameterTypes()
    このオブジェクトによって表される実行可能ファイルの仮パラメータ型を宣言順で表すClassオブジェクトの配列を返します。
    abstract TypeVariable<?>[] getTypeParameters()
    GenericDeclarationオブジェクトによって表されるジェネリック宣言で宣言された型変数を表すTypeVariableオブジェクトの配列を宣言順に返します。
    boolean isSynthetic()
    この実行可能要素が合成構造である場合はtrueを返し、そうでない場合はfalseを返します。
    boolean isVarArgs()
    この実行可能要素が可変数の引数を取るように宣言されていた場合はtrueを返し、そうでない場合はfalseを返します。
    abstract String toGenericString()
    型パラメータを含む、このExecutableを記述する文字列を返します。

    クラス java.lang.Objectで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    インタフェース java.lang.reflect.AnnotatedElementで宣言されたメソッド

    getAnnotations, getDeclaredAnnotation, getDeclaredAnnotations, getDeclaredAnnotationsByType, isAnnotationPresent
  • メソッドの詳細

    • getDeclaringClass

      public abstract Class<?> getDeclaringClass()
      このオブジェクトによって表される実行可能ファイルを宣言するクラスまたはインタフェースを表すClassオブジェクトを返します。
      定義:
      getDeclaringClass、インタフェース: Member
      戻り値:
      基本となるメンバーの宣言クラスを表すオブジェクト
    • getName

      public abstract String getName()
      このオブジェクトによって表される実行可能要素の名前を返します。
      定義:
      getName、インタフェース: Member
      戻り値:
      基本となるメンバーの単純名
    • 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の場合
    • 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が表すメソッドまたはコンストラクタの宣言された例外を表すオブジェクトの配列