以Person为例
- package com.reflect.constructor;
- /*
- *
- */
- import java.lang.reflect.Constructor;
- public class ReflectDemo2 {
- public static void main(String[] args) throws Exception {
- /*
- * 1.public Person
- */
- // 获取字节码文件对象
-
- Class c6 = Class.forName("com.reflect.Person"); // 获取代参构造方法对象
- Constructor con = c6.getConstructor(String.class, int.class,
- String.class);
- // 通过代参构造方法创建对象
- // public T newInstance(Object...initargs)
- Object obj = con.newInstance("奥巴马",44, "美国");
- System.out.println(obj);
-
- /*
- * 2.private Person
- */
- Class c7 = Class.forName("com.reflect.Person");
- Constructor con1 = c7.getDeclaredConstructor(String.class);
- con1.setAccessible(true);
- Object obj1 = con1.newInstance("普京");
- System.out.println(obj1);
- }
- }
复制代码 |
|