public final class Constructor<T> extends AccessibleObject implements GenericDeclaration, Member
IllegalArgumentException if a narrowing conversion would be
necessary. You can query for information on this Constructor regardless
of location, but construction access may be limited by Java language
access controls. If you can't do it in the compiler, you can't normally
do it here either.
Note: This class returns and accepts types as Classes, even
primitive types; there are Class types defined that represent each
different primitive type. They are java.lang.Boolean.TYPE,
java.lang.Byte.TYPE,, also available as boolean.class,
byte.class, etc. These are not to be confused with the
classes java.lang.Boolean, java.lang.Byte, etc., which are
real classes.
Also note that this is not a serializable class. It is entirely feasible to make it serializable using the Externalizable interface, but this is on Sun, not me.
Member,
Class,
Class.getConstructor(Class[]),
Class.getDeclaredConstructor(Class[]),
Class.getConstructors(),
Class.getDeclaredConstructors()| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(java.lang.Object o)
Compare two objects to see if they are semantically equivalent.
|
<T extends java.lang.annotation.Annotation> |
getAnnotation(java.lang.Class<T> annotationClass)
Returns the element's annotation for the specified annotation type,
or
null if no such annotation exists. |
java.lang.annotation.Annotation[] |
getDeclaredAnnotations()
Returns all annotations directly defined by the element.
|
java.lang.Class<T> |
getDeclaringClass()
Gets the class that declared this constructor.
|
java.lang.Class<?>[] |
getExceptionTypes()
Get the exception types this constructor says it throws, in no particular
order.
|
Type[] |
getGenericExceptionTypes()
Returns an array of
Type objects that represents
the exception types declared by this constructor, in declaration order. |
Type[] |
getGenericParameterTypes()
Returns an array of
Type objects that represents
the parameter list for this constructor, in declaration order. |
int |
getModifiers()
Gets the modifiers this constructor uses.
|
java.lang.String |
getName()
Gets the name of this constructor (the non-qualified name of the class
it was declared in).
|
java.lang.annotation.Annotation[][] |
getParameterAnnotations()
Return an array of arrays representing the annotations on each
of the constructor's parameters.
|
java.lang.Class<?>[] |
getParameterTypes()
Get the parameter list for this constructor, in declaration order.
|
TypeVariable<Constructor<T>>[] |
getTypeParameters()
Returns an array of
TypeVariable objects that represents
the type variables declared by this constructor, in declaration order. |
int |
hashCode()
Get the hash code for the Constructor.
|
boolean |
isSynthetic()
Return true if this constructor is synthetic, false otherwise.
|
boolean |
isVarArgs()
Return true if this is a varargs constructor, that is if
the constructor takes a variable number of arguments.
|
T |
newInstance(java.lang.Object... args)
Create a new instance by invoking the constructor.
|
java.lang.String |
toGenericString() |
java.lang.String |
toString()
Get a String representation of the Constructor.
|
getAnnotations, isAccessible, isAnnotationPresent, setAccessible, setAccessiblepublic java.lang.Class<T> getDeclaringClass()
getDeclaringClass in interface Memberpublic java.lang.String getName()
public int getModifiers()
Modifier
class to interpret the values. A constructor can only have a subset of the
following modifiers: public, private, protected.getModifiers in interface MemberModifierpublic boolean isSynthetic()
isSynthetic in interface Memberpublic boolean isVarArgs()
public java.lang.Class<?>[] getParameterTypes()
public java.lang.Class<?>[] getExceptionTypes()
public boolean equals(java.lang.Object o)
equals in class java.lang.Objecto - the object to compare totrue if they are equal; false if not.Object.hashCode()public int hashCode()
hashCode in class java.lang.ObjectObject.equals(Object),
System.identityHashCode(Object)public java.lang.String toString()
public java.io.FileInputStream(java.lang.Runnable)
throws java.io.FileNotFoundExceptiontoString in class java.lang.ObjectObject.getClass(),
Object.hashCode(),
Class.getName(),
Integer.toHexString(int)public java.lang.String toGenericString()
public T newInstance(java.lang.Object... args) throws java.lang.InstantiationException, java.lang.IllegalAccessException, InvocationTargetException
If this class is abstract, you will get an
InstantiationException. If the constructor takes 0
arguments, you may use null or a 0-length array for args.
If this Constructor enforces access control, your runtime context is
evaluated, and you may have an IllegalAccessException if
you could not create this object in similar compiled code. If the class
is uninitialized, you trigger class initialization, which may end in a
ExceptionInInitializerError.
Then, the constructor is invoked. If it completes normally, the return
value will be the new object. If it completes abruptly, the exception is
wrapped in an InvocationTargetException.
args - the arguments to the constructorjava.lang.IllegalAccessException - if the constructor could not normally be
called by the Java code (i.e. it is not public)java.lang.IllegalArgumentException - if the number of arguments is incorrect;
or if the arguments types are wrong even with a widening
conversionjava.lang.InstantiationException - if the class is abstractInvocationTargetException - if the constructor throws an exceptionjava.lang.ExceptionInInitializerError - if construction triggered class
initialization, which then failedpublic TypeVariable<Constructor<T>>[] getTypeParameters()
TypeVariable objects that represents
the type variables declared by this constructor, in declaration order.
An array of size zero is returned if this constructor has no type
variables.getTypeParameters in interface GenericDeclarationGenericSignatureFormatError - if the generic signature does
not conform to the format specified in the Virtual Machine
specification, version 3.public Type[] getGenericExceptionTypes()
Type objects that represents
the exception types declared by this constructor, in declaration order.
An array of size zero is returned if this constructor declares no
exceptions.GenericSignatureFormatError - if the generic signature does
not conform to the format specified in the Virtual Machine
specification, version 3.public Type[] getGenericParameterTypes()
Type objects that represents
the parameter list for this constructor, in declaration order.
An array of size zero is returned if this constructor takes no
parameters.GenericSignatureFormatError - if the generic signature does
not conform to the format specified in the Virtual Machine
specification, version 3.public java.lang.annotation.Annotation[][] getParameterAnnotations()
Return an array of arrays representing the annotations on each of the constructor's parameters. The outer array is aligned against the parameters of the constructors and is thus equal in length to the number of parameters (thus having a length zero if there are none). Each array element in the outer array contains an inner array which holds the annotations. This array has a length of zero if the parameter has no annotations.
The returned annotations are serialized. Changing the annotations has no affect on the return value of future calls to this method.
public <T extends java.lang.annotation.Annotation> T getAnnotation(java.lang.Class<T> annotationClass)
null if no such annotation exists.getAnnotation in interface AnnotatedElementgetAnnotation in class AccessibleObjectannotationClass - the type of annotation to look for.null if no such annotation exists.java.lang.NullPointerException - if the annotation class is null.public java.lang.annotation.Annotation[] getDeclaredAnnotations()
getDeclaredAnnotations in interface AnnotatedElementgetDeclaredAnnotations in class AccessibleObject