Class类newInstance()方法newInstance()方法在java.lang包中可用。
newInstance()方法用于创建此Class对象表示的类的新实例。
newInstance()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。
在创建类的新实例时,newInstance()方法不会引发各种异常。IllegalAccessException:当无法访问此类或其构造函数时,可能会引发此异常。
InstantiationException:类实例化失败时,可能会引发此异常。
ExceptionInInitializerError:当方法激发的初始化失败时,可能会引发此异常。
SecurityException:当安全管理器存在时,可能会引发此异常。
语法:public Object newInstance();
参数:它不接受任何参数。
返回值:
该方法的返回类型为Object,它返回该类的新实例。
示例// Java program to demonstrate the example
//类的Object newInstance()方法
public class NewInstanceOfClass {
public static void main(String[] args) throws Exception {
//创建并返回String类
StringBuilder s1 = new StringBuilder();
Class cl1 = s1.getClass();
//我们正在创建一个新的实例
//此对象cl1表示的类
//通过使用newInstance()方法
Object s2 = cl1.newInstance();
Class cl2 = s2.getClass();
//显示实例
System.out.println("Instance s1: " + cl1.toString());
System.out.println("Instance s2: " + cl2.toString());
}
}
输出结果Instance s1: class java.lang.StringBuilder
Instance s2: class java.lang.StringBuilder