Class Overview | Class Members | This Package | All Packages
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.