java.lang.Class.newInstance()%uA0创建此Class对象所表示类的新实例。该类由一种新的表达与空参数列表实例。如果它尚未被初始化的类初始化。
声明
以下是java.lang.Class.newInstance()方法的声明
public T newInstance() throws InstantiationException, IllegalAccessException
参数
-
NA
返回值
此方法返回当前对象表示类的一个新分配的实例。
异常
-
IllegalAccessException%uA0--%uA0如果类或它的无参构造函数是无法访问的。
-
InstantiationException%uA0-- 如果这个类表示一个抽象类,接口,数组类,基本类型,或无效或者如果类没有无参构造函数或者如果所述实例化操作由于某些其他原因。
-
ExceptionInInitializerError%uA0-- 如果用这种方法引起的初始化失败。
-
SecurityException%uA0-- 如果安全管理存在。
例子
下面的例子显示java.lang.Class.newInstance()方法的使用。
package com.yiibai 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 2014 Time = Tue Oct 23 16:09:55 MST 2014