Uses the constructor represented by this
Constructor object to create and initialize a new
instance of the constructor's declaring class, with
the specified initialization parameters. Individual
parameters are automatically unwrapped to match
primitive formal parameters, and both primitive
and reference parameters are subject to widening
conversions as necessary. Returns the newly
created and initialized object.
Creation proceeds with the following steps, in
order:
If the class that declares the underlying constructor
represents an abstract class, the creation throws an
InstantiationException.
If this Constructor object enforces Java language
access control and the underlying constructor is
inaccessible, the creation throws an
IllegalAccessException.
If the number of actual parameters supplied via
initargs is different from the number of formal
parameters required by the underlying constructor,
the creation throws an IllegalArgumentException.
A new instance of the constructor's declaring class
is created, and its fields are initialized to their
default initial values.
For each actual parameter in the supplied initargs
array:
If the corresponding formal parameter has a
primitive type, an unwrapping conversion is
attempted to convert the object value to a value of
the primitive type. If this attempt fails, the
creation throws an IllegalArgumentException.
If, after possible unwrapping, the parameter value
cannot be converted to the corresponding formal
parameter type by an identity or widening
conversion, the creation throws an
IllegalArgumentException.
Control transfers to the underlying constructor to
initialize the new instance. If the constructor
completes abruptly by throwing an exception, the
exception is placed in an
InvocationTargetException and thrown in turn to
the caller of newInstance.
If the constructor completes normally, returns the
newly created and initialized instance.