当前位置: 首页 > 图灵资讯 > 技术篇> Java反射机制如何调用构造方法?

Java反射机制如何调用构造方法?

来源:图灵教育
时间:2024-04-15 13:28:02

可通过反射机制 constructor.newinstance() 该方法调用结构方法,传递实际参数列表创建对象。该方法需要匹配结构方法的类型和顺序,并且必须公开或有适当的访问权限。

Java反射机制如何调用构造方法?

Java 反射机制调用结构方法

Java 反射机制提供动态访问,允许在运行过程中检查和修改类别及其成员。通过反射,我们可以调用类结构来创建新的对象。

语法:

可以使用反射调用结构方法 Constructor.newInstance() 方法。语法如下:

Object newInstance(Object... args) throws InstantiationException, IllegalAccessException, InvocationTargetException

登录后复制

其中:

  • args:构造对象的实际参数列表

实战案例:

我们创建了一个名字 Person 类别,并提供带参数的结构方法:

public class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

登录后复制

现在,我们可以使用反射调用这种结构方法:

// 创建 Class 对象
Class<?> personClass = Class.forName("Person");

// 获取两个参数的结构方法
Constructor<?> constructor = personClass.getConstructor(String.class, int.class);

// 调用结构方法创建对象
Object person = constructor.newInstance("John", 30);

登录后复制

使用反射调用的对象可以像普通对象一样访问:

System.out.println(((Person) person).getName()); // 输出: John
System.out.println(((Person) person).getAge()); // 输出: 30

登录后复制

注意事项:

  • 调用结构方法需要传递正确的参数类型和顺序。
  • 被调用的结构方法必须公开或有适当的访问权限。
  • 若结构方法抛出异常,newInstance() 将异常包装在一起 InvocationTargetException 中抛出。

以上是Java反射机制如何调用结构方法?详情请关注图灵教育其他相关文章!