模块  java.base
软件包  java.lang.reflect

Class Executable

    • 方法详细信息

      • getDeclaringClass

        public abstract <?> getDeclaringClass()
        返回表示声明此对象表示的可执行文件的类或接口的 对象。
        Specified by:
        getDeclaringClass接口 Member
        结果
        表示底层成员的声明类的对象
      • getName

        public abstract String getName()
        返回此对象表示的可执行文件的名称。
        Specified by:
        getName在界面 Member
        结果
        底层成员的简单名称
      • getModifiers

        public abstract int getModifiers()
        返回此对象表示的可执行文件的Java语言modifiers
        Specified by:
        getModifiers接口 Member
        结果
        底层成员的Java语言修饰符
        另请参见:
        Modifier
      • getTypeParameters

        public abstract TypeVariable<?>[] getTypeParameters()
        返回的数组TypeVariable对象表示通过此表示的一般声明声明的类型变量GenericDeclaration目的,在声明的顺序。 如果基础泛型声明未声明类型变量,则返回长度为0的数组。
        Specified by:
        getTypeParameters在界面 GenericDeclaration
        结果
        一组 TypeVariable对象,表示此泛型声明声明的类型变量
        异常
        GenericSignatureFormatError - 如果此通用声明的通用签名不符合 The Java™ Virtual Machine Specification中指定的格式
      • getParameterTypes

        public abstract <?>[] getParameterTypes()
        返回对象的数组, 对象表示此对象表示的可执行文件的声明顺序的形式参数类型。 如果底层可执行文件不带参数,则返回长度为0的数组。
        结果
        此对象表示的可执行文件的参数类型
      • getParameterCount

        public int getParameterCount()
        返回此对象表示的可执行文件的形式参数(无论是显式声明还是隐式声明,或两者都不)。
        结果
        此对象表示的可执行文件的形式参数的数量
      • getGenericParameterTypes

        public Type[] getGenericParameterTypes()
        返回Type对象的数组, Type对象表示此对象表示的可执行文件的声明顺序的形式参数类型。 如果底层可执行文件不带参数,则返回长度为0的数组。

        如果形式参数类型是参数化类型,则Type返回的Type对象必须准确反映源代码中使用的实际类型参数。

        如果形式参数类型是类型变量或参数化类型,则创建它。 否则,它就解决了。

        结果
        一个 Type的数组,以声明顺序表示底层可执行文件的形式参数类型
        异常
        GenericSignatureFormatError - 如果通用方法签名不符合 The Java™ Virtual Machine Specification中指定的格式
        TypeNotPresentException - 如果底层可执行文件的任何参数类型引用了不存在的类型声明
        MalformedParameterizedTypeException - 如果任何底层可执行文件的参数类型引用无法以任何原因实例化的参数化类型
      • getParameters

        public Parameter[] getParameters()
        返回Parameter对象的数组, Parameter对象表示此对象所表示的基础可执行文件的所有参数。 如果可执行文件没有参数,则返回长度为0的数组。

        底层可执行文件的参数不一定具有唯一的名称,或者是Java编程语言(JLS 3.8)中合法标识符的名称。

        结果
        一个 Parameter对象的数组,表示此对象表示的可执行文件的所有参数。
        异常
        MalformedParametersException - 如果类文件包含格式不正确的MethodParameters属性。
      • getExceptionTypes

        public abstract <?>[] getExceptionTypes()
        返回对象的数组, 对象表示声明由此对象表示的基础可执行文件抛出的异常类型。 如果可执行文件在其throws子句中声明没有异常,则返回长度为0的数组。
        结果
        声明由此对象表示的可执行文件抛出的异常类型
      • getGenericExceptionTypes

        public Type[] getGenericExceptionTypes()
        返回Type对象的数组, Type对象表示声明由此可执行对象引发的异常。 如果底层可执行文件在其throws子句中未声明异常,则返回长度为0的数组。

        如果异常类型是类型变量或参数化类型,则会创建它。 否则,它就解决了。

        结果
        一个Types数组,表示底层可执行文件抛出的异常类型
        异常
        GenericSignatureFormatError - 如果通用方法签名不符合 The Java™ Virtual Machine Specification中指定的格式
        TypeNotPresentException - 如果底层可执行文件的 throws子句引用了不存在的类型声明
        MalformedParameterizedTypeException - 如果底层可执行文件的 throws子句引用无法以任何原因实例化的参数化类型
      • toGenericString

        public abstract String toGenericString()
        返回描述此 Executable的字符串,包括任何类型参数。
        结果
        描述此 Executable的字符串,包括任何类型参数
      • isVarArgs

        public boolean isVarArgs()
        如果声明此可执行文件采用可变数量的参数,则返回true ; 否则返回false
        结果
        true如果仅在声明此可执行文件时采用可变数量的参数。
      • isSynthetic

        public boolean isSynthetic()
        如果此可执行文件是合成构造,则返回true ; 否则返回false
        Specified by:
        isSynthetic在界面 Member
        结果
        当且仅当此可执行文件是 The Java™ Language Specification定义的合成构造 时才返回true
        See The Java™ Language Specification:
        13.1二进制形式
      • getParameterAnnotations

        public abstract Annotation[][] getParameterAnnotations()
        返回Annotation的数组数组,这些数组表示由此对象表示的Executable声明顺序的形式参数的注释。 合成和强制参数(请参阅下面的说明),例如内部类构造函数的外部“this”参数将在返回的数组中表示。 如果可执行文件没有参数(意味着没有正式参数,没有合成参数,也没有强制参数),则返回零长度数组。 如果Executable具有一个或多个参数,则为没有注释的每个参数返回长度为零的嵌套数组。 返回的数组中包含的注释对象是可序列化的。 此方法的调用者可以自由修改返回的数组; 它对返回给其他调用者的数组没有影响。 编译器可以添加在源(“强制”)中隐式声明的额外参数,以及既不在源(“合成”)中隐式或显式声明到方法的参数列表的参数。 有关更多信息,请参见Parameter
        结果
        一个数组数组,以声明顺序表示此对象表示的可执行文件的形式和隐式参数的注释
        另请参见:
        ParameterAnnotatedElement.getAnnotations()
      • getAnnotation

        public <T extends Annotation> T getAnnotation​(<T> annotationClass)
        返回该元素的,如果这样的注释 否则返回null指定类型的注释。
        Specified by:
        getAnnotation在界面 AnnotatedElement
        重写:
        getAnnotation在类 AccessibleObject
        参数类型
        T - 要查询的注释的类型,如果存在则返回
        参数
        annotationClass - 与注释类型对应的Class对象
        结果
        如果此元素上存在指定注释类型,则此元素的注释,否则为null
        异常
        NullPointerException - 如果给定的注释类为null
      • getAnnotationsByType

        public <T extends Annotation> T[] getAnnotationsByType​(<T> annotationClass)
        返回与此元素关联的注释。 如果没有与此元素关联的注释,则返回值是长度为0的数组。此方法与AnnotatedElement.getAnnotation(Class)之间的区别在于此方法检测其参数是否为可重复注释类型 (JLS 9.6),如果是,则尝试通过“查看”容器注释来查找该类型的一个或多个注释。 此方法的调用者可以自由修改返回的数组; 它对返回给其他调用者的数组没有影响。
        Specified by:
        getAnnotationsByType在界面 AnnotatedElement
        重写:
        getAnnotationsByType在类 AccessibleObject
        参数类型
        T - 要查询的注释的类型,如果存在则返回
        参数
        annotationClass - 与注释类型对应的Class对象
        结果
        如果与此元素关联,则指定注释类型的所有此元素的注释,否则为长度为零的数组
        异常
        NullPointerException - 如果给定的注释类为null
      • getAnnotatedReturnType

        public abstract AnnotatedType getAnnotatedReturnType()
        返回一个AnnotatedType对象,该对象表示使用类型来指定此可执行文件表示的方法/构造函数的返回类型。 如果此Executable对象表示构造函数,则AnnotatedType对象表示构造对象的类型。 如果此Executable对象表示方法,则AnnotatedType对象表示使用类型指定方法的返回类型。
        结果
        表示由此 Executable表示的方法或构造函数的返回类型的对象
      • getAnnotatedReceiverType

        public AnnotatedType getAnnotatedReceiverType()
        返回一个AnnotatedType对象,该对象表示使用类型来指定此Executable对象所表示的方法/构造函数的接收器类型。 仅当方法/构造函数具有接收器参数(JLS 8.4.1)时,方法/构造函数的接收器类型才可用。 如果此Executable对象表示一个实例方法或表示内部件类的构造 ,并且所述方法/构造或者具有没有接收器参数或与它的类型没有注释的接收器参数,则返回值是一个AnnotatedType表示对象没有注释的元素。 如果此Executable对象表示静态方法或表示顶级,静态成员,本地或匿名类的构造函数,则返回值为null。
        结果
        表示此 Executablenull表示的方法或构造函数的接收器类型的对象(如果此 Executable不具有接收器参数)
      • getAnnotatedParameterTypes

        public AnnotatedType[] getAnnotatedParameterTypes()
        返回AnnotatedType对象的数组, AnnotatedType对象表示使用类型来指定此可执行文件所表示的方法/构造函数的形式参数类型。 数组中对象的顺序对应于方法/构造函数声明中形式参数类型的顺序。 如果方法/构造函数声明没有参数,则返回长度为0的数组。
        结果
        一个对象数组,表示由此 Executable表示的方法或构造函数的形式参数的类型
      • getAnnotatedExceptionTypes

        public AnnotatedType[] getAnnotatedExceptionTypes()
        返回AnnotatedType对象的数组, AnnotatedType对象表示使用类型来指定此可执行文件所表示的方法/构造函数的声明的异常。 数组中对象的顺序对应于方法/构造函数声明中的异常类型的顺序。 如果方法/构造函数声明没有异常,则返回长度为0的数组。
        结果
        表示由此 Executable表示的方法或构造函数的声明异常的对象数组