所有类


java.lang.reflect
类 Constructor<T>

java.lang.Object
  继承者 java.lang.reflect.AccessibleObject
      继承者 java.lang.reflect.Constructor<T>
所有已实现的接口:
AnnotatedElement, GenericDeclaration, Member

public final class Constructor<T>
   
   
   
   
   
extends AccessibleObject
implements GenericDeclaration, Member

Constructor 提供关于类的单个构造方法的信息以及对它的访问权限。

Constructor 允许在将实参与带有基础构造方法的形参的 newInstance() 匹配时进行扩展转换,但是如果发生收缩转换,则抛出 IllegalArgumentException

另请参见:
Member, Class, Class.getConstructors(), Class.getConstructor(Class[]), Class.getDeclaredConstructors()

字段摘要
 
从接口 java.lang.reflect.Member 继承的字段
DECLARED, PUBLIC
 
方法摘要
 boolean equals(Object obj)
          将此 Constructor 对象与指定的对象进行比较。
<T extends Annotation>
T
getAnnotation(Class<T> annotationClass)
          如果存在该元素的指定类型的注释,则返回这些注释,否则返回 null。
 Annotation[] getDeclaredAnnotations()
          返回直接存在于此元素上的所有注释。
 Class<T> getDeclaringClass()
          返回 Class 对象,该对象表示声明由此 Constructor 对象表示的构造方法的类。
 Class<?>[] getExceptionTypes()
          返回一组表示声明要抛出的异常类型的 Class 对象,这些异常是由此 Constructor 对象表示的基础构造方法抛出的。
 Type[] getGenericExceptionTypes()
          返回一组 Type 对象,这些对象表示声明要由此 Constructor 对象抛出的异常。
 Type[] getGenericParameterTypes()
          按照声明顺序返回一组 Type 对象,这些对象表示此 Constructor 对象所表示的方法的形参类型。
 int getModifiers()
          以整数形式返回此 Constructor 对象所表示构造方法的 Java 语言修饰符。
 String getName()
          以字符串形式返回此构造方法的名称。
 Annotation[][] getParameterAnnotations()
          按照声明顺序返回一组数组,这些数组表示通过此 Method 对象表示的方法的形参上的注释。
 Class<?>[] getParameterTypes()
          按照声明顺序返回一组 Class 对象,这些对象表示此 Constructor 对象所表示构造方法的形参类型。
 TypeVariable<Constructor<T>>[] getTypeParameters()
          按照声明顺序返回一组 TypeVariable 对象,这些对象表示通过此 GenericDeclaration 对象所表示的一般声明来声明的类型变量。
 int hashCode()
          返回此 Constructor 的哈希码。
 boolean isSynthetic()
          如果此构造方法是一个复合构造方法,则返回 true;否则返回 false
 boolean isVarArgs()
          如果声明此构造方法可以带可变数量的参数,则返回 true;否则返回 false
 T newInstance(Object... initargs)
          使用此 Constructor 对象表示的构造方法来创建该构造方法的声明类的新实例,并用指定的初始化参数初始化该实例。
 String toGenericString()
          返回描述此 Constructor 的字符串,其中包括类型参数。
 String toString()
          返回描述此 Constructor 的字符串。
 
从类 java.lang.reflect.AccessibleObject 继承的方法
getAnnotations, isAccessible, isAnnotationPresent, setAccessible, setAccessible
 
从类 java.lang.Object 继承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

方法详细信息

getDeclaringClass

public Class<T> getDeclaringClass()
返回 Class 对象,该对象表示声明由此 Constructor 对象表示的构造方法的类。

指定者:
接口 Member 中的 getDeclaringClass
返回:
表示声明基础成员的类的对象

getName

public String getName()
以字符串形式返回此构造方法的名称。它总是与构造方法的声明类的简单名称相同。

指定者:
接口 Member 中的 getName
返回:
基础成员的简单名称

getModifiers

public int getModifiers()
以整数形式返回此 Constructor 对象所表示构造方法的 Java 语言修饰符。应该使用 Modifier 类对这些修饰符进行解码。

指定者:
接口 Member 中的 getModifiers
返回:
基础成员的 Java 语言修饰符
另请参见:
Modifier

getTypeParameters

public TypeVariable<Constructor<T>>[] getTypeParameters()
按照声明顺序返回一组 TypeVariable 对象,这些对象表示通过此 GenericDeclaration 对象所表示的一般声明来声明的类型变量。如果基础一般声明未声明任何类型的变量,则返回一个长度为 0 的数组。

指定者:
接口 GenericDeclaration 中的 getTypeParameters
返回:
表示通过此一般声明来声明的类型变量的一组 TypeVariable 对象
抛出:
GenericSignatureFormatError - 如果此一般声明的一般签名不符合 Java Virtual Machine Specification, 3rd edition 指定的格式
从以下版本开始:
1.5

getParameterTypes

public Class<?>[] getParameterTypes()
按照声明顺序返回一组 Class 对象,这些对象表示此 Constructor 对象所表示构造方法的形参类型。如果基础构造方法不带任何参数,则返回一个长度为 0 的数组。

返回:
此对象表示的构造方法的参数类型

getGenericParameterTypes

public Type[] getGenericParameterTypes()
按照声明顺序返回一组 Type 对象,这些对象表示此 Constructor 对象所表示的方法的形参类型。如果基础方法不带任何参数,则返回一个长度为 0 的数组。

如果形参类型是一个参数化类型,那么为它返回的 Type 对象必须准确地反映源代码中使用的实际类型参数。

如果形参类型是一个类型变量或者是一个参数化类型,则创建它。否则将解析它。

返回:
按照声明顺序返回一组 Type 对象,该对象表示基础方法的形参类型
抛出:
GenericSignatureFormatError - 如果这个一般方法的签名不符合 Java Virtual Machine Specification, 3rd edition 指定的格式
TypeNotPresentException - 如果任何基础方法的参数类型引用了不存在的类型声明
MalformedParameterizedTypeException - 如果任何基础方法的参数类型引用了因某种原因而无法实例化的参数化类型
从以下版本开始:
1.5

getExceptionTypes

public Class<?>[] getExceptionTypes()
返回一组表示声明要抛出的异常类型的 Class 对象,这些异常是由此 Constructor 对象表示的基础构造方法抛出的。如果该构造方法声明其 throws 子句中没有任何异常,则返回一个长度为 0 的数组。

返回:
声明由此对象表示的构造方法抛出的异常类型

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部