Java.lang.Class.newInstance() 方法
描述
java.lang.Class.newInstance() 创建由这个 Class 对象表示的类的新实例。 该类被实例化为一个带有空参数列表的新表达式。 如果尚未初始化该类,则将其初始化。
声明
以下是 java.lang.Class.newInstance() 方法的声明。
public T newInstance() throws InstantiationException, IllegalAccessException
参数
NA
返回值
此方法返回此对象表示的类的新分配实例。
异常
IllegalAccessException − 如果类或其空构造函数不可访问。
InstantiationException − 如果这个 Class 表示一个抽象类、一个接口、一个数组类、一个原始类型或 void; 或者如果该类没有空构造函数; 或者如果实例化由于其他原因失败。
ExceptionInInitializerError − 如果此方法引发的初始化失败。
SecurityException − 如果存在安全管理员。
示例
下面的例子展示了 java.lang.Class.newInstance() 方法的使用。
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()); } } }
让我们编译并运行上面的程序,这将产生下面的结果 −
Time = Tue Oct 23 16:09:55 MST 2012 Time = Tue Oct 23 16:09:55 MST 2012