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