Android(java)学习笔记48:通过反射获得带参构造方法并且使用

1. 反射获得带参构造方法并且使用:

(1)获取字节码文件对象

      Class c = Class.forName("cn.itcast_01.Person");

(2)获取带参构造器对象,public Constructor<T> getConstructor(Class<?>... parameterTypes)

     Constructor con = c.getConstructor(String.class ,    int.class ,   String.class);

(3)通过带参构造器对象创建对象,public T newInstance(Object... initargs)

     Object obj = con.newInstance("林青霞", 27, "北京");

     System.out.println(obj);

运行效果图和代码如下(下面的Person是另外一个包下的,这里我们访问Person):

 1 package cn.itcast_02;
 2 
 3 import java.lang.reflect.Constructor;
 4 
 5 /*
 6  * 需求:通过反射去获取该构造方法并使用:
 7  * public Person(String name, int age, String address)
 8  * 
 9  * Person p = new Person("林青霞",27,"北京");
10  * System.out.println(p);
11  */
12 public class ReflectDemo2 {
13     public static void main(String[] args) throws Exception {
14         // 获取字节码文件对象
15         Class c = Class.forName("cn.itcast_01.Person");
16 
17         // 获取带参构造方法对象
18         // public Constructor<T> getConstructor(Class<?>... parameterTypes)
19         Constructor con = c.getConstructor(String.class, int.class,
20                 String.class);
21 
22         // 通过带参构造方法对象创建对象
23         // public T newInstance(Object... initargs)
24         Object obj = con.newInstance("林青霞", 27, "北京");
25         
26         System.out.println(obj);
27     }
28 }
原文地址:https://www.cnblogs.com/hebao0514/p/4565733.html