Java Class类 newInstance()方法及示例

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