public abstract class Executable extends AccessibleObject implements Member, GenericDeclaration
方法
和Constructor
的共同功能的共享超类 。
Modifier and Type | Method and Description |
---|---|
AnnotatedType[] |
getAnnotatedExceptionTypes()
返回一个
AnnotatedType 对象的数组,
AnnotatedType 使用类型来指定由此可执行文件表示的方法/构造函数声明的异常。
|
AnnotatedType[] |
getAnnotatedParameterTypes()
返回一个
AnnotatedType 对象的数组,
AnnotatedType 使用类型来指定此可执行文件所表示的方法/构造函数的形式参数类型。
|
AnnotatedType |
getAnnotatedReceiverType()
返回一个
AnnotatedType 对象,该对象表示使用类型来指定此可执行文件对象所表示的方法/构造函数的接收器类型。
|
abstract AnnotatedType |
getAnnotatedReturnType()
返回一个
AnnotatedType 对象,表示使用一个类型来指定此可执行文件所表示的方法/构造函数的返回类型。
|
<T extends Annotation> |
getAnnotation(类<T> annotationClass)
返回该元素的,如果这样的注释
,否则返回null指定类型的注释。
|
<T extends Annotation> |
getAnnotationsByType(类<T> annotationClass)
返回与此元素相关
联的注释 。
|
Annotation[] |
getDeclaredAnnotations()
返回
直接存在于此元素上的注释。
|
abstract 类<?> |
getDeclaringClass()
返回
类 表示声明该对象表示的可执行的类或接口对象。
|
abstract 类<?>[] |
getExceptionTypes()
返回一个
类 对象的数组,
类 表示由该对象表示的底层可执行文件抛出的异常类型。
|
Type[] |
getGenericExceptionTypes()
返回一个
Type 对象的数组,
Type 表示声明为该可执行对象抛出的异常。
|
Type[] |
getGenericParameterTypes()
返回一个
Type 对象的数组,
Type 以声明顺序表示由该对象表示的可执行文件的形式参数类型。
|
abstract int |
getModifiers()
返回由该对象表示的可执行文件的Java语言modifiers 。
|
abstract String |
getName()
返回由此对象表示的可执行文件的名称。
|
abstract Annotation[][] |
getParameterAnnotations()
返回一个
Annotation s的数组数组,表示由该对象表示的Executable的形式参数的声明顺序的
Executable 。
|
int |
getParameterCount()
返回由此对象表示的可执行文件的形式参数(无论是显式声明还是隐式声明)的数量。
|
Parameter[] |
getParameters()
返回一个
Parameter 对象的数组,表示由该对象表示的底层可执行文件的所有参数。
|
abstract 类<?>[] |
getParameterTypes()
返回一个
类 对象的数组,
类 以声明顺序表示由该对象表示的可执行文件的形式参数类型。
|
abstract TypeVariable<?>[] |
getTypeParameters()
返回一个
TypeVariable 对象的数组,它们以声明顺序表示由此
GenericDeclaration 对象表示的通用声明声明的类型变量。
|
boolean |
isSynthetic()
返回 true 如果这个可执行文件是一个合成的构建体;
返回false 其他。
|
boolean |
isVarArgs()
返回 true 如果这个可执行文件被宣布为带有可变数量的参数;
返回false 否则。
|
abstract String |
toGenericString()
返回描述此
Executable 的字符串,包括任何类型的参数。
|
getAnnotations, getDeclaredAnnotation, getDeclaredAnnotationsByType, isAccessible, isAnnotationPresent, setAccessible, setAccessible
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getAnnotations, getDeclaredAnnotation, getDeclaredAnnotationsByType, isAnnotationPresent
public abstract 类<?> getDeclaringClass()
类
表示声明该对象表示的可执行的类或接口对象。
getDeclaringClass
在接口
Member
public abstract String getName()
public abstract int getModifiers()
getModifiers
在接口
Member
Modifier
public abstract TypeVariable<?>[] getTypeParameters()
TypeVariable
对象的数组,它们以声明顺序表示由此GenericDeclaration
对象表示的通用声明声明的类型变量。
如果底层通用声明不声明类型变量,则返回长度为0的数组。
getTypeParameters
在接口
GenericDeclaration
TypeVariable
对象,表示此通用声明声明的类型变量
GenericSignatureFormatError
- 如果此通用声明的通用签名不符合The Java™ Virtual Machine Specification中
指定的格式
public abstract 类<?>[] getParameterTypes()
类
对象的数组, 类
以声明顺序表示由该对象表示的可执行文件的形式参数类型。
如果底层可执行文件没有参数,则返回长度为0的数组。
public int getParameterCount()
public Type[] getGenericParameterTypes()
Type
对象的数组, Type
以声明顺序表示由该对象表示的可执行文件的形式参数类型。
如果底层可执行文件没有参数,则返回长度为0的数组。
如果形式参数类型是参数化类型,则Type
返回的Type
对象必须准确反映源代码中使用的实际类型参数。
如果形式参数类型是类型变量或参数化类型,则会创建它。 否则解决。
Type
的数组,以声明顺序表示底层可执行文件的形式参数类型
GenericSignatureFormatError
- 如果通用方法签名不符合The Java™ Virtual Machine Specification中
指定的格式
TypeNotPresentException
- 如果
TypeNotPresentException
任何参数类型指向不存在的类型声明
MalformedParameterizedTypeException
- 如果任何基础可执行程序的参数类型引用了由于任何原因无法实例化的参数化类型
public Parameter[] getParameters()
Parameter
对象的数组,表示由该对象表示的底层可执行文件的所有参数。
如果可执行文件没有参数,则返回长度为0的数组。
底层可执行文件的参数不一定具有唯一的名称,或者是Java编程语言(JLS 3.8)中的合法标识符的名称。
Parameter
对象的数组,
Parameter
对象表示的可执行文件的所有参数。
MalformedParametersException
- 如果类文件包含格式不正确的MethodParameters属性。
public abstract 类<?>[] getExceptionTypes()
类
对象的数组, 类
表示由该对象表示的底层可执行文件所声明的异常类型。
如果可执行文件在其throws
子句中不声明异常,则返回长度为0的数组。
public Type[] getGenericExceptionTypes()
Type
对象的数组, Type
表示声明为该可执行对象抛出的异常。
如果底层可执行文件在其throws
子句中声明无例外,则返回长度为0的数组。
如果异常类型是类型变量或参数化类型,则会创建它。 否则解决。
GenericSignatureFormatError
- 如果通用方法签名不符合The Java™ Virtual Machine Specification中
指定的格式
TypeNotPresentException
- 如果底层可执行文件的
throws
子句引用不存在的类型声明
MalformedParameterizedTypeException
- 如果底层可执行文件的
throws
子句是指由于任何原因无法实例化的参数化类型
public abstract String toGenericString()
Executable
的字符串,包括任何类型的参数。
Executable
的字符串,包括任何类型的参数
public boolean isVarArgs()
true
如果这个可执行文件被宣布为带有可变数量的参数;
返回false
其他。
true
如果只有这个可执行文件被声明为使用可变数量的参数。
public boolean isSynthetic()
true
如果这个可执行文件是一个合成的构建体;
返回false
其他。
isSynthetic
中的
Member
public abstract Annotation[][] getParameterAnnotations()
Annotation
表示的形参进行注释s时,声明顺序的的Executable
该对象表示。
合成和强制参数(见下面的说明),如内部类构造函数的外部“this”参数将在返回的数组中表示。
如果可执行文件没有参数(意思是没有正式的,没有合成的,没有强制的参数),那么将返回一个零长度的数组。
如果Executable
具有一个或多个参数,则对于没有注释的每个参数,返回长度为零的嵌套数组。
包含在返回的数组中的注释对象是可序列化的。
此方法的调用者可以自由修改返回的数组;
它将对返回给其他调用者的数组没有影响。
编译器可以添加在源(“强制”)中隐式声明的额外参数,以及在源(“合成”)中既不是隐式也不显式声明方法的参数列表的参数。
见Parameter
以获取更多信息。
Parameter
, Parameter.getAnnotations()
public <T extends Annotation> T getAnnotation(类<T> annotationClass)
getAnnotation
在接口
AnnotatedElement
getAnnotation
在
AccessibleObject
类
T
- 要查询的注释类型,如果存在则返回
annotationClass
- 对应于注释类型的Class对象
NullPointerException
- 如果给定的注释类为空
public <T extends Annotation> T[] getAnnotationsByType(类<T> annotationClass)
AnnotatedElement.getAnnotation(Class)
之间的区别在于此方法检测其参数是否为可重复注释类型 (JLS 9.6),如果是,则尝试通过“查看”容器注释来查找该类型的一个或多个注释。
该方法的调用者可以自由修改返回的数组;
它将对返回给其他调用者的数组没有影响。
getAnnotationsByType
在接口
AnnotatedElement
getAnnotationsByType
在
AccessibleObject
T
- 查询的注释类型,如果存在则返回
annotationClass
- 对应于注释类型的Class对象
NullPointerException
- 如果给定的注释类为空
public Annotation[] getDeclaredAnnotations()
getDeclaredAnnotations
中的
AnnotatedElement
getDeclaredAnnotations
在
AccessibleObject
类
public abstract AnnotatedType getAnnotatedReturnType()
AnnotatedType
对象,表示使用一个类型来指定此可执行文件所表示的方法/构造函数的返回类型。
如果此Executable
对象表示构造函数,则AnnotatedType
对象表示AnnotatedType
对象的类型。
如果这个Executable
对象表示一个方法,那么AnnotatedType
对象表示使用一个类型来指定方法的返回类型。
Executable
表示的方法或构造函数的返回类型的对象
public AnnotatedType getAnnotatedReceiverType()
AnnotatedType
对象,表示使用类型来指定此可执行文件对象所表示的方法/构造函数的接收器类型。
只有方法/构造函数具有接收器参数 (JLS 8.4.1),方法/构造函数的接收器类型才可用 。
如果这个Executable
对象表示一个没有接收器参数的构造函数或实例方法,或者在其类型上没有没有注释的接收器参数,则返回值是表示没有注释的元素的AnnotatedType
对象。
如果此Executable
对象表示静态方法,则返回值为null。
Executable
表示的方法或构造函数的接收器类型的对象
public AnnotatedType[] getAnnotatedParameterTypes()
AnnotatedType
对象的数组, AnnotatedType
使用类型来指定此可执行文件所表示的方法/构造函数的形式参数类型。
数组中对象的顺序对应于方法/构造函数声明中形式参数类型的顺序。
如果方法/构造函数声明没有参数,则返回长度为0的数组。
Executable
表示的方法或构造函数的形式参数的类型的对象数组
public AnnotatedType[] getAnnotatedExceptionTypes()
AnnotatedType
对象的数组,它们表示使用类型来指定由此可执行文件表示的方法/构造函数声明的异常。
数组中对象的顺序对应于方法/构造函数声明中异常类型的顺序。
如果方法/构造函数声明没有异常,则返回长度为0的数组。
Executable
表示的方法或构造函数声明的异常的对象数组