public final class 方法 extends Executable
方法
提供有关类和接口上单一方法的信息和访问权限。
反映的方法可以是类方法或实例方法(包括抽象方法)。
A 方法
允许在匹配实际参数以使用底层方法的形式参数进行IllegalArgumentException
时发生扩展转换,但如果发生缩小转换,则会引发IllegalArgumentException
。
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj)
将此
方法 与指定对象进行比较。
|
AnnotatedType |
getAnnotatedReturnType()
返回一个
AnnotatedType 对象,表示使用类型来指定此可执行文件所表示的方法/构造函数的返回类型。
|
<T extends Annotation> |
getAnnotation(类<T> annotationClass)
返回该元素的,如果这样的注释
,否则返回null指定类型的注释。
|
Annotation[] |
getDeclaredAnnotations()
返回
直接存在于此元素上的注释。
|
类<?> |
getDeclaringClass()
返回
类 表示声明该对象表示的可执行的类或接口对象。
|
Object |
getDefaultValue()
返回由此
方法 实例表示的注释成员的默认值。
|
类<?>[] |
getExceptionTypes()
返回一个
类 对象的数组,表示由该对象表示的底层可执行文件所声明的异常类型。
|
Type[] |
getGenericExceptionTypes()
返回一个
Type 对象的数组,
Type 此可执行对象声明抛出的异常。
|
Type[] |
getGenericParameterTypes()
返回一个
Type 对象的数组,
Type 以声明顺序表示由该对象表示的可执行文件的形式参数类型。
|
Type |
getGenericReturnType()
返回一个
Type 对象,它表示由该表示的方法的正式返回类型
方法 对象。
|
int |
getModifiers()
返回由该对象表示的可执行文件的Java语言modifiers 。
|
String |
getName()
返回由此
方法 对象表示的方法的名称,作为
String 。
|
Annotation[][] |
getParameterAnnotations()
返回一个
Annotation s的数组数组,表示由该对象表示的Executable的形式参数的声明顺序的
Executable 。
|
int |
getParameterCount()
返回由此对象表示的可执行文件的形式参数(无论是显式声明还是隐式声明)的数量。
|
类<?>[] |
getParameterTypes()
返回一个
类 对象的数组,
类 以声明顺序表示由该对象表示的可执行文件的形式参数类型。
|
类<?> |
getReturnType()
返回一个
类 对象,它表示由该表示的方法的正式返回类型
方法 对象。
|
TypeVariable<方法>[] |
getTypeParameters()
返回一个
TypeVariable 对象的数组,它们以声明顺序表示由此
GenericDeclaration 对象表示的通用声明声明的类型变量。
|
int |
hashCode()
返回这个
方法 的哈希码。
|
Object |
invoke(Object obj, Object... args)
在具有指定参数的
方法 对象上调用此
方法 对象表示的底层方法。
|
boolean |
isBridge()
返回 true 如果这个方法是一个桥接方法;
返回false 否则。
|
boolean |
isDefault()
如果此方法是默认方法,则返回 true ;
返回false 其他。
|
boolean |
isSynthetic()
返回 true 如果这个可执行文件是一个合成的构建体;
返回false 其他。
|
boolean |
isVarArgs()
返回 true 如果这个可执行文件被宣布为带有可变数量的参数;
返回false 其他。
|
String |
toGenericString()
返回描述此
方法 的字符串,包括类型参数。
|
String |
toString()
返回一个描述这个
方法 的字符串。
|
getAnnotatedExceptionTypes, getAnnotatedParameterTypes, getAnnotatedReceiverType, getAnnotationsByType, getParameters
getAnnotations, getDeclaredAnnotation, getDeclaredAnnotationsByType, isAccessible, isAnnotationPresent, setAccessible, setAccessible
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getAnnotations, getDeclaredAnnotation, getDeclaredAnnotationsByType, isAnnotationPresent
public 类<?> getDeclaringClass()
类
表示声明该对象表示的可执行的类或接口对象。
getDeclaringClass
中的
Member
getDeclaringClass
在
Executable
public String getName()
方法
对象表示的方法的名称,作为
String
。
getName
在接口
Member
getName
在
Executable
public int getModifiers()
getModifiers
在接口
Member
getModifiers
在
Executable
Modifier
public TypeVariable<方法>[] getTypeParameters()
TypeVariable
对象的数组,它们以声明顺序表示由该GenericDeclaration
对象表示的通用声明声明的类型变量。
如果底层通用声明不声明类型变量,则返回长度为0的数组。
getTypeParameters
在接口
GenericDeclaration
getTypeParameters
在
Executable
TypeVariable
对象的数组,表示此通用声明声明的类型变量
GenericSignatureFormatError
- 如果此通用声明的通用签名不符合The Java™ Virtual Machine Specification中
指定的格式
public 类<?> getReturnType()
类
对象,它表示由该表示的方法的正式返回类型
方法
对象。
public Type getGenericReturnType()
Type
对象,它表示由该表示的方法的正式返回类型方法
对象。
如果返回类型是参数化类型,返回的Type
对象必须准确反映源代码中使用的实际类型参数。
如果返回类型是类型变量或参数化类型,则会创建它。 否则解决。
Type
对象,表示底层方法的正式返回类型
GenericSignatureFormatError
- 如果通用方法签名不符合The Java™ Virtual Machine Specification中
指定的格式
TypeNotPresentException
- 如果底层方法的返回类型是指不存在的类型声明
MalformedParameterizedTypeException
- 如果底层方法的返回类型是指由于任何原因无法实例化的参数化类型
public 类<?>[] getParameterTypes()
类
对象的数组, 类
以声明顺序表示由该对象表示的可执行文件的形式参数类型。
如果底层可执行文件没有参数,则返回长度为0的数组。
getParameterTypes
在
Executable
public int getParameterCount()
getParameterCount
在
Executable
public Type[] getGenericParameterTypes()
Type
对象的数组, Type
以声明顺序表示由该对象表示的可执行文件的形式参数类型。
如果底层可执行文件没有参数,则返回长度为0的数组。
如果形式参数类型是参数化类型,那么Type
返回的Type
对象必须准确地反映源代码中使用的实际类型参数。
如果形式参数类型是类型变量或参数化类型,则会创建它。 否则解决。
getGenericParameterTypes
在
Executable
Type
的数组,以声明顺序表示底层可执行文件的形式参数类型
GenericSignatureFormatError
- 如果通用方法签名不符合The Java™ Virtual Machine Specification中
指定的格式
TypeNotPresentException
- 如果
TypeNotPresentException
任何参数类型指向不存在的类型声明
MalformedParameterizedTypeException
- 如果任何底层可执行文件的参数类型是指由于任何原因无法实例化的参数化类型
public 类<?>[] getExceptionTypes()
类
对象的数组, 类
表示由该对象表示的底层可执行文件所声明的异常类型。
如果可执行文件在其throws
子句中不声明异常,则返回长度为0的数组。
getExceptionTypes
在类
Executable
public Type[] getGenericExceptionTypes()
Type
对象的数组, Type
此可执行对象声明抛出的异常。
如果底层可执行文件在其throws
子句中声明无异常,则返回长度为0的数组。
如果异常类型是类型变量或参数化类型,则会创建它。 否则解决。
getGenericExceptionTypes
在
Executable
GenericSignatureFormatError
- 如果通用方法签名不符合The Java™ Virtual Machine Specification中
指定的格式
TypeNotPresentException
- 如果底层可执行文件的
throws
子句引用不存在的类型声明
MalformedParameterizedTypeException
- 如果底层可执行文件的
throws
子句是指由于任何原因无法实例化的参数化类型
public boolean equals(Object obj)
方法
与指定对象进行比较。
如果对象相同,则返回true。
两个Methods
是相同的,如果它们被同一个类声明并具有相同的名称和形式的参数类型和返回类型。
equals
在
Object
obj
- 与之比较的参考对象。
true
如果此对象与obj参数相同;
false
否则。
Object.hashCode()
, HashMap
public int hashCode()
方法
的哈希码。
哈希码被计算为底层方法声明类名称和方法名称的排他或哈希码。
hashCode
在
Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public String toString()
方法
的字符串。
该字符串格式化为方法访问修饰符(如果有),后跟方法返回类型,后跟一个空格,后跟类声明方法,后跟一个句点,后跟方括号,后跟一个括号,逗号该方法的形式参数类型的分离列表。
如果该方法抛出检查异常,则参数列表后跟一个空格,后面跟随着抛出的单词throws,后面是抛出的异常类型的逗号分隔列表。
例如:
public boolean java.lang.Object.equals(java.lang.Object)
访问修饰符按照“Java语言规范”指定的规范顺序放置。 这是public
, protected
或private
以下顺序,然后再其它改性剂: abstract
, default
, static
, final
, synchronized
, native
, strictfp
。
public String toGenericString()
方法
的字符串,包括类型参数。
该字符串格式化为方法访问修饰符(如果有),后跟一个方括号的类型参数的角括号括号的逗号分隔列表(如果有),后跟方法的通用返回类型,后跟一个空格,后跟类声明该方法后跟一个句点,后跟方法名称,后跟一个括号,逗号分隔的方法的通用形式参数类型列表。
如果该方法被声明为采用可变数量的参数,而不是将最后一个参数表示为“ Type[] ”,则表示为“ Type... ”。
一个空格用于将访问修饰符彼此和类型参数或返回类型分开。
如果没有类型参数,则类型参数列表将被删除;
如果存在类型参数列表,则会将列表与类名称隔开。
如果该方法被声明为抛出异常,则参数列表后跟一个空格,后面跟随着单词throws,后跟通用抛出的异常类型的逗号分隔列表。
访问修饰符按照“Java语言规范”指定的规范顺序放置。 这是public
, protected
或private
以下顺序,然后再其它改性剂: abstract
, default
, static
, final
, synchronized
, native
, strictfp
。
toGenericString
在
Executable
方法
的字符串,包括类型参数
public Object invoke(Object obj, Object... args) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException
方法
对象上调用此方法
对象表示的基础方法。
个别参数自动解包以匹配原始形式参数,原始参考参数和参考参数都需要进行方法调用转换。
如果底层方法是静态的,则指定的obj
参数将被忽略。 它可能为null。
如果底层方法所需的形式参数的数量为0,则提供的args
数组的长度为0或为空。
如果底层方法是一个实例方法,它将使用动态方法查找来调用,如“Java语言规范”第二版,第15.12.4.4节所述; 特别是将会发生基于目标对象的运行时类型的覆盖。
如果底层方法是静态的,则如果尚未初始化该方法,那么声明该方法的类将被初始化。
如果方法正常完成,则返回的值将返回给调用者; 如果值具有原始类型,则首先将其适当地包装在对象中。 但是,如果该值具有基本类型的数组的类型,则该数组的元素不会包含在对象中; 换句话说,返回一个原始类型的数组。 如果底层方法返回类型为void,则调用返回null。
obj
- 从底层方法被调用的对象
args
- 用于方法调用的参数
obj
上调用
args
IllegalAccessException
- 如果这个
方法
对象正在强制执行Java语言访问控制,并且底层方法是无法访问的。
IllegalArgumentException
- 如果方法是一个实例方法,并且指定的对象参数不是声明底层方法(或其子类或实现者)的类或接口的实例;
如果实际和正式参数的数量不同;
如果原始参数的解包转换失败;
或者如果在可能的展开之后,通过方法调用转换,参数值不能转换为相应的形式参数类型。
InvocationTargetException
- 如果底层方法抛出异常。
NullPointerException
- 如果指定的对象为空,该方法为实例方法。
ExceptionInInitializerError
- 如果由此方法引发的初始化失败。
public boolean isBridge()
true
;
返回false
其他。
public boolean isVarArgs()
true
如果这个可执行文件被宣布为带有可变数量的参数;
返回false
否则。
isVarArgs
在
Executable
true
如果只有这个可执行文件被声明为使用可变数量的参数。
public boolean isSynthetic()
true
如果这个可执行文件是一个合成的构建体;
返回false
其他。
isSynthetic
在接口
Member
isSynthetic
在
Executable
public boolean isDefault()
true
;
返回false
其他。
默认方法是公共非抽象实例方法,即具有主体的非静态方法,以接口类型声明。
public Object getDefaultValue()
方法
实例表示的注释成员的默认值。
如果成员是原始类型,则返回相应包装器类型的实例。
如果没有默认与成员关联,或者方法实例不表示注释类型的声明成员,则返回null。
方法
实例表示的注释成员的默认值。
TypeNotPresentException
- 如果注释类型为类
,并且不能为默认类值找到定义。
public <T extends Annotation> T getAnnotation(类<T> annotationClass)
getAnnotation
在界面
AnnotatedElement
getAnnotation
在
Executable
T
- 要查询的注释类型,如果存在则返回
annotationClass
- 对应于注释类型的Class对象
NullPointerException
- 如果给定的注释类为空
public Annotation[] getDeclaredAnnotations()
getDeclaredAnnotations
在界面
AnnotatedElement
getDeclaredAnnotations
在
Executable
public Annotation[][] getParameterAnnotations()
Annotation
的数组数组,表示由该对象表示的Executable的形式参数的声明顺序的Executable
。
合成和强制参数(见下面的说明),如内部类构造函数的外部“this”参数将在返回的数组中表示。
如果可执行文件没有参数(意思是没有正式的,没有合成的,没有强制的参数),那么将返回一个零长度的数组。
如果Executable
具有一个或多个参数,则对于没有注释的每个参数返回长度为零的嵌套数组。
包含在返回的数组中的注释对象是可序列化的。
此方法的调用者可以自由修改返回的数组;
它将对返回给其他调用者的数组没有影响。
编译器可以添加在源(“强制”)中隐式声明的额外参数,以及在源(“合成”)中既不是隐式也不显式声明方法的参数列表的参数。
见Parameter
以获取更多信息。
getParameterAnnotations
在
Executable
Parameter
, Parameter.getAnnotations()
public AnnotatedType getAnnotatedReturnType()
AnnotatedType
对象,该对象表示使用类型来指定此可执行文件所表示的方法/构造函数的返回类型。
如果此Executable
对象表示构造函数,则AnnotatedType
对象表示AnnotatedType
对象的类型。
如果这个Executable
对象表示一个方法,那么AnnotatedType
对象表示使用一个类型来指定方法的返回类型。
getAnnotatedReturnType
在
Executable
Executable