可以不提供,只不过这样的话构造对象的时候一定要先拿到有参数的构造方法,然后赋予参数再构建对象。比如package cn.mldn.demo; import java.lang.reflect.Constructor; class Person{ // CTRL + K private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } @Override public String toString() { return "Person [name=" + name + ", age=" + age + "]"; }} public class TestDemo{ public static void main(String[] args) throws Exception { Class<?> cls = Class.forName("cn.mldn.demo.Person"); // 取得Class对象 // 取得指定参数类型的构造方法 Constructor<?> cons = cls.getConstructor(String.class, int.class); Object obj = cons.newInstance("张三", 20); // 为构造方法传递参数 System.out.println(obj); }}
时间: 2024-10-23 17:09:34