public final class Constructor<T> extends AccessibleObject implements Member, GenericDeclaration
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.
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj)
Compare two objects to see if they are semantically equivalent.
|
<T extends Annotation> |
getAnnotation(Class<T> annoClass)
Returns the element's annotation for the specified annotation type,
or
null if no such annotation exists. |
Annotation[] |
getDeclaredAnnotations()
Returns all annotations directly defined by the element.
|
Class<T> |
getDeclaringClass()
Gets the class that declared this constructor.
|
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.
|
String |
getName()
Gets the name of this constructor (the non-qualified name of the class
it was declared in).
|
Annotation[][] |
getParameterAnnotations() |
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(Object... args)
Create a new instance by invoking the constructor.
|
String |
toGenericString() |
String |
toString()
Get a String representation of the Constructor.
|
getAnnotations, isAccessible, isAnnotationPresent, setAccessible, setAccessible
public Class<T> getDeclaringClass()
getDeclaringClass
in interface Member
public 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 Member
Modifier
public boolean isSynthetic()
isSynthetic
in interface Member
public boolean isVarArgs()
public Class<?>[] getParameterTypes()
public Class<?>[] getExceptionTypes()
public boolean equals(Object obj)
equals
in class Object
o
- the object to compare totrue
if they are equal; false
if not.Object.hashCode()
public int hashCode()
hashCode
in class Object
Object.equals(Object)
,
System.identityHashCode(Object)
public String toString()
public java.io.FileInputStream(java.lang.Runnable)
throws java.io.FileNotFoundException
toString
in class Object
Object.getClass()
,
Object.hashCode()
,
Class.getName()
,
Integer.toHexString(int)
public String toGenericString()
public T newInstance(Object... args) throws InstantiationException, IllegalAccessException, IllegalArgumentException, 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 constructorIllegalAccessException
- if the constructor could not normally be
called by the Java code (i.e. it is not public)IllegalArgumentException
- if the number of arguments is incorrect;
or if the arguments types are wrong even with a widening
conversionInstantiationException
- if the class is abstractInvocationTargetException
- if the constructor throws an exceptionExceptionInInitializerError
- 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 GenericDeclaration
GenericSignatureFormatError
- 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 <T extends Annotation> T getAnnotation(Class<T> annoClass)
AccessibleObject
Returns the element's annotation for the specified annotation type,
or null
if no such annotation exists.
This method must be overridden by subclasses to provide appropriate behaviour.
getAnnotation
in interface AnnotatedElement
getAnnotation
in class AccessibleObject
annoClass
- the type of annotation to look for.null
if no such annotation exists.public Annotation[] getDeclaredAnnotations()
AccessibleObject
Returns all annotations directly defined by the element. If there are no annotations directly associated with the element, then a zero-length array will be returned. The returned array may be modified by the client code, but this will have no effect on the annotation content of this class, and hence no effect on the return value of this method for future callers.
This method must be overridden by subclasses to provide appropriate behaviour.
getDeclaredAnnotations
in interface AnnotatedElement
getDeclaredAnnotations
in class AccessibleObject
public Annotation[][] getParameterAnnotations()