📜  Java newInstance()方法(1)

📅  最后修改于: 2023-12-03 15:15:57.304000             🧑  作者: Mango

Java newInstance()方法

Java newInstance() 方法用于返回一个指定类的实例。newInstance() 方法返回的实例被初始化为默认的值。它通常被用来创建类对象的实例,我们可以通过 newInstance() 方法来调用默认构造方法,实例化一个类。

语法
public T newInstance() throws InstantiationException,IllegalAccessException
参数

此方法没有参数。

返回值

返回指定类的一个新实例。

异常
  • IllegalAccessException:如果没有权限访问指定类。
  • InstantiationException:如果指定类是抽象类或接口,或者没有空参构造函数。
  • ExceptionInInitializerError:如果初始化器抛出异常。
示例
public class Person {
    private String name;
    private int age;
 
    public Person() {
        this.name = "xiaoming";
        this.age = 18;
    }
 
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
 
    public void info() {
        System.out.println("姓名:" + name + "\n年龄:" + age);
    }
}
 
public class Test {
    public static void main(String[] args) {
        try {
            Person person = Person.class.newInstance();
            person.info();
        } catch (InstantiationException | IllegalAccessException e) {
            e.printStackTrace();
        }
    }
}

输出结果:

姓名:xiaoming
年龄:18

在上面的示例中,我们通过 Person.class.newInstance() 这个方法来调用默认构造方法来实例化 Person 类的一个对象。实例化完成后,可以调用其方法 info() 输出对象的信息。如果类中没有无参数构造函数,那么newInstance()方法会报IllegalAccessExceptionInstantiationException异常。

参考链接