to top
Android APIs
public final class

Constructor

extends AccessibleObject
implements GenericDeclaration Member
java.lang.Object
   ↳ java.lang.reflect.AccessibleObject
     ↳ java.lang.reflect.Constructor<T>

Class Overview

This class represents a constructor. Information about the constructor can be accessed, and the constructor can be invoked dynamically.

Summary

[Expand]
Inherited Constants
From interface java.lang.reflect.Member
Public Methods
boolean equals(Object object)
Indicates whether or not the specified object is equal to this constructor.
<A extends Annotation> A getAnnotation(Class<A> annotationType)
Returns, for this element, the annotation with the specified type, or null if no annotation with the specified type is present (including inherited annotations).
Annotation[] getDeclaredAnnotations()
Returns, for this element, all annotations that are explicitly declared (not inherited).
Class<T> getDeclaringClass()
Returns the class that declares this constructor.
Class[]<?> getExceptionTypes()
Returns the exception types as an array of Class instances.
Type[] getGenericExceptionTypes()
Returns the exception types as an array of Type instances.
Type[] getGenericParameterTypes()
Returns the generic parameter types as an array of Type instances, in declaration order.
int getModifiers()
Returns the modifiers for this constructor.
String getName()
Returns the name of this constructor.
Annotation[][] getParameterAnnotations()
Returns an array of arrays that represent the annotations of the formal parameters of this constructor.
Class[]<?> getParameterTypes()
Returns an array of the Class objects associated with the parameter types of this constructor.
TypeVariable[]<Constructor<T>> getTypeParameters()
Returns the declared type parameters in declaration order.
int hashCode()
Returns an integer hash code for this constructor.
boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
Indicates whether or not this element has an annotation with the specified annotation type (including inherited annotations).
boolean isSynthetic()
Indicates whether or not this constructor is synthetic (artificially introduced by the compiler).
boolean isVarArgs()
Indicates whether or not this constructor takes a variable number of arguments.
T newInstance(Object... args)
Returns a new instance of the declaring class, initialized by dynamically invoking the constructor represented by this Constructor object.
String toGenericString()
Returns the string representation of the constructor's declaration, including the type parameters.
String toString()
Returns a string containing a concise, human-readable description of this constructor.
[Expand]
Inherited Methods
From class java.lang.reflect.AccessibleObject
From class java.lang.Object
From interface java.lang.reflect.AnnotatedElement
From interface java.lang.reflect.GenericDeclaration
From interface java.lang.reflect.Member

Public Methods

public boolean equals (Object object)

Added in API level 1

Indicates whether or not the specified object is equal to this constructor. To be equal, the specified object must be an instance of Constructor with the same declaring class and parameter types as this constructor.

Parameters
object the object to compare
Returns
  • true if the specified object is equal to this constructor, false otherwise
See Also

public A getAnnotation (Class<A> annotationType)

Added in API level 14

Returns, for this element, the annotation with the specified type, or null if no annotation with the specified type is present (including inherited annotations).

Parameters
annotationType the type of the annotation to search for
Returns
  • the annotation with the specified type or null

public Annotation[] getDeclaredAnnotations ()

Added in API level 1

Returns, for this element, all annotations that are explicitly declared (not inherited). If there are no declared annotations present, this method returns a zero length array.

Returns
  • an array of annotations declared for this element

public Class<T> getDeclaringClass ()

Added in API level 1

Returns the class that declares this constructor.

Returns
  • the declaring class

public Class[]<?> getExceptionTypes ()

Added in API level 1

Returns the exception types as an array of Class instances. If this constructor has no declared exceptions, an empty array will be returned.

Returns
  • the declared exception classes

public Type[] getGenericExceptionTypes ()

Added in API level 1

Returns the exception types as an array of Type instances. If this constructor has no declared exceptions, an empty array will be returned.

Returns
  • an array of generic exception types
Throws
GenericSignatureFormatError if the generic constructor signature is invalid
TypeNotPresentException if any exception type points to a missing type
MalformedParameterizedTypeException if any exception type points to a type that cannot be instantiated for some reason

public Type[] getGenericParameterTypes ()

Added in API level 1

Returns the generic parameter types as an array of Type instances, in declaration order. If this constructor has no generic parameters, an empty array is returned.

Returns
  • the parameter types
Throws
GenericSignatureFormatError if the generic constructor signature is invalid
TypeNotPresentException if any parameter type points to a missing type
MalformedParameterizedTypeException if any parameter type points to a type that cannot be instantiated for some reason

public int getModifiers ()

Added in API level 1

Returns the modifiers for this constructor. The Modifier class should be used to decode the result.

Returns
  • the modifiers for this constructor
See Also

public String getName ()

Added in API level 1

Returns the name of this constructor.

Returns
  • the name of this constructor

public Annotation[][] getParameterAnnotations ()

Added in API level 1

Returns an array of arrays that represent the annotations of the formal parameters of this constructor. If there are no parameters on this constructor, then an empty array is returned. If there are no annotations set, then an array of empty arrays is returned.

Returns
  • an array of arrays of Annotation instances

public Class[]<?> getParameterTypes ()

Added in API level 1

Returns an array of the Class objects associated with the parameter types of this constructor. If the constructor was declared with no parameters, an empty array will be returned.

Returns
  • the parameter types

public TypeVariable[]<Constructor<T>> getTypeParameters ()

Added in API level 1

Returns the declared type parameters in declaration order. If there are no type parameters, this method returns a zero length array.

Returns
  • the declared type parameters in declaration order

public int hashCode ()

Added in API level 1

Returns an integer hash code for this constructor. Constructors which are equal return the same value for this method. The hash code for a Constructor is the hash code of the name of the declaring class.

Returns
  • the hash code
See Also

public boolean isAnnotationPresent (Class<? extends Annotation> annotationType)

Added in API level 1

Indicates whether or not this element has an annotation with the specified annotation type (including inherited annotations).

Parameters
annotationType the type of the annotation to search for
Returns
  • true if the annotation exists, false otherwise

public boolean isSynthetic ()

Added in API level 1

Indicates whether or not this constructor is synthetic (artificially introduced by the compiler).

Returns
  • true if this constructor is synthetic, false otherwise

public boolean isVarArgs ()

Added in API level 1

Indicates whether or not this constructor takes a variable number of arguments.

Returns
  • true if a vararg is declare, otherwise false

public T newInstance (Object... args)

Added in API level 1

Returns a new instance of the declaring class, initialized by dynamically invoking the constructor represented by this Constructor object. This reproduces the effect of new declaringClass(arg1, arg2, ... , argN) This method performs the following:

  • A new instance of the declaring class is created. If the declaring class cannot be instantiated (i.e. abstract class, an interface, an array type, or a primitive type) then an InstantiationException is thrown.
  • If this Constructor object is enforcing access control (see AccessibleObject) and this constructor is not accessible from the current context, an IllegalAccessException is thrown.
  • If the number of arguments passed and the number of parameters do not match, an IllegalArgumentException is thrown.
  • For each argument passed:
    • If the corresponding parameter type is a primitive type, the argument is unboxed. If the unboxing fails, an IllegalArgumentException is thrown.
    • If the resulting argument cannot be converted to the parameter type via a widening conversion, an IllegalArgumentException is thrown.
  • The constructor represented by this Constructor object is then invoked. If an exception is thrown during the invocation, it is caught and wrapped in an InvocationTargetException. This exception is then thrown. If the invocation completes normally, the newly initialized object is returned.

Parameters
args the arguments to the constructor
Returns
  • the new, initialized, object
Throws
InstantiationException if the class cannot be instantiated
IllegalAccessException if this constructor is not accessible
IllegalArgumentException if an incorrect number of arguments are passed, or an argument could not be converted by a widening conversion
InvocationTargetException if an exception was thrown by the invoked constructor
See Also

public String toGenericString ()

Added in API level 1

Returns the string representation of the constructor's declaration, including the type parameters.

Returns
  • the string representation of the constructor's declaration

public String toString ()

Added in API level 1

Returns a string containing a concise, human-readable description of this constructor. The format of the string is:

  1. modifiers (if any)
  2. declaring class name
  3. '('
  4. parameter types, separated by ',' (if any)
  5. ')'
  6. 'throws' plus exception types, separated by ',' (if any)
For example: public String(byte[],String) throws UnsupportedEncodingException

Returns
  • a printable representation for this constructor