Java.lang.Class.newInstance() Method
Description
The java.lang.Class.newInstance() creates a new instance of the class represented by this Class object. The class is instantiated as if by a new expression with an empty argument list. The class is initialized if it has not already been initialized. .
Declaration
Following is the declaration for java.lang.Class.newInstance() method
public T newInstance() throws InstantiationException, IllegalAccessException
Parameters
NA
Return Value
This method returns a newly allocated instance of the class represented by this object.
Exception
IllegalAccessException -- if the class or its nullary constructor is not accessible.
InstantiationException -- If this Class represents an abstract class, an interface, an array class, a primitive type, or void; or if the class has no nullary constructor; or if the instantiation fails for some other reason.
ExceptionInInitializerError -- If the initialization provoked by this method fails.
SecurityException -- If a security manager, s, is present.
Example
The following example shows the usage of java.lang.Class.newInstance() method.
package com.tutorialspoint;
import java.util.*;
import java.lang.*;
public class ClassDemo {
public static void main(String[] args) {
try {
// date object
Date d = new Date();
Class cls = d.getClass();
System.out.println("Time = " + d.toString());
/* creates a new instance of the class represented by this
Class object cls */
Object obj = cls.newInstance();
System.out.println("Time = " + obj);
}
catch(InstantiationException e) {
System.out.println(e.toString());
}
catch(IllegalAccessException e) {
System.out.println(e.toString());
}
}
}
Let us compile and run the above program, this will produce the following result:
Time = Tue Oct 23 16:09:55 MST 2012 Time = Tue Oct 23 16:09:55 MST 2012