1、概述 如果指定的类中没有空参数的构造函数,或者要创建的类对象需要通过指定的构造函数进行初始化。这时怎么办呢?这时就不能使用Class类中的newInstance方法了。既然要通过指定的构造函数进行对象的初始化。就必须先获取这个构造函数——Constructor。Constructor代表某个类的构造方法。 2、获取构造方法: 1)得到这个类的所有构造方法:如得到上面示例中Person类的所有构造方法 Constructor[] cons = Class.forName(“cn.itheima.Person”).getConstructors(); 2)获取某一个构造方法: Constructor con=Person.class.getConstructor(String.class,int.class); 3、创建实例对象: 1)通常方式:Person p = new Person(“lisi”,30); 2)反射方式:Person p=(Person)con.newInstance(“lisi”,30); 注: 1、创建实例时newInstance方法中的参数列表必须与获取Constructor的方法getConstructor方法中的参数列表一致。 2、newInstance():构造出一个实例对象,每调用一次就构造一个对象。 3、利用Constructor类来创建类实例的好处是可以指定构造函数,而Class类只能利用无参构造函数创建类实例对象。
|