If you need to create an object with the no-argument constructor, you can
invoke the newInstance
method on a
Class
object.
The newInstance
method throws a NoSuchMethodException
if the class does not have a
no-argument constructor.
For more information on working with
Constructor
objects, see the section
Discovering Class Constructors.
The following sample program creates an instance of the Rectangle
class using the
no-argument constructor by calling the newInstance
method:
import java.lang.reflect.*;
import java.awt.*;
class SampleNoArg {
public static void main(String[] args) {
Rectangle r = (Rectangle) createObject("java.awt.Rectangle");
System.out.println(r.toString());
}
static Object createObject(String className) {
Object object = null;
try {
Class classDefinition = Class.forName(className);
object = classDefinition.newInstance();
} catch (InstantiationException e) {
System.out.println(e);
} catch (IllegalAccessException e) {
System.out.println(e);
} catch (ClassNotFoundException e) {
System.out.println(e);
}
return object;
}
}
The output of the preceding program is:
java.awt.Rectangle[x=0,y=0,width=0,height=0]