|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.lang.reflect.AccessibleObject
java.lang.reflect.Constructor<T>
public final class Constructor<T>
The Constructor class represents a constructor of a class. It also allows
dynamic creation of an object, via reflection. Invocation on Constructor
objects knows how to do widening conversions, but throws
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()
Field Summary |
---|
Fields inherited from interface java.lang.reflect.Member |
---|
DECLARED, PUBLIC |
Method Summary | ||
---|---|---|
boolean |
equals(Object obj)
Compare two objects to see if they are semantically equivalent. |
|
|
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. |
Methods inherited from class java.lang.reflect.AccessibleObject |
---|
getAnnotations, isAccessible, isAnnotationPresent, setAccessible, setAccessible |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Method Detail |
---|
public Class<T> getDeclaringClass()
getDeclaringClass
in interface Member
public String getName()
getName
in interface Member
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 to
true
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 constructor
IllegalAccessException
- 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
conversion
InstantiationException
- if the class is abstract
InvocationTargetException
- if the constructor throws an exception
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 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)
AnnotatedElement
null
if no such annotation exists.
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()
AnnotatedElement
getDeclaredAnnotations
in interface AnnotatedElement
getDeclaredAnnotations
in class AccessibleObject
public Annotation[][] getParameterAnnotations()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |